Использование VBA при работе в Microsoft Office

Автор работы: Пользователь скрыл имя, 04 Февраля 2014 в 14:57, контрольная работа

Краткое описание

Сначала вычисляется ПРОВЕРЯЕМОЕ_ВЫРАЖЕНИЕ. Если его значение совпадает с одним из значений ЗНАЧЕНИЯ_I, то выполнятся ОПЕРАТОРЫ_I и управление передается оператору, стоящему после End Select. Если его значение не совпадает ни с одним из значений ЗНАЧЕНИЯ_I, то выполнятся ИНАЧЕ_ОПЕРАТОРЫ и управление передается оператору, стоящему после End Select

Содержание

1. Организация программирования в Word с использованием встроенного языка VBA. 3
1.1. Описание конструкций языка VBA, обеспечивающих ветвление 3
1.2. Условие задачи на разветвление алгоритма 5
1.3. Распечатка программного кода 5
1.4. Распечатка результатов выполнения 6
2. Постановка задачи на обработку информации с использованием разветвления алгоритма 7
2.1. Описание условия задачи 7
2.2. Распечатка программного кода 7
2.3. Распечатка результатов выполнения 8
3. Программная обработка информации в таблице Excel 9
3.1. Описание организации информации в таблице Excel 9
3.2. Условие задачи на организацию обработки информации, представленной в виде таблицы Excel 9
3.3. Распечатка программного кода 9
3.4. Распечатка результатов выполнения 10
4. Постановка задачи на обработку информации в таблице Excel с использованием встроенного языка VBA 11
4.1 Описание условия задачи 11
4.2 Распечатка программного кода 11
4.3 Распечатка результатов выполнения 12
5. Литература и Internet-ресурсы 14

Прикрепленные файлы: 1 файл

Karavaev.docx

— 130.57 Кб (Скачать документ)

МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ  ЭКОНОМИКИ,

СТАТИСТИКИ И ИНФОРМАТИКИ (МЭСИ)

 

 

 

 

 

Кафедра МОИСиИ

 

 

 

 

 

 

 

Самостоятельная работа

по дисциплине «Информатика и программирование»

на тему: «Использование VBA при работе в Microsoft Office »

 

 

 

 

 

 

Выполнил студент 

группы

<ДНМ-301>

<Караваев Н.В.> 

 

 

 

Преподаватель:

Профессор

Смирнов Александр Алексеевич

 

 

 

 

 

 

 

Москва, 2013

 

Оглавление

 

Оглавление 2

1. Организация программирования в Word с использованием встроенного языка VBA. 3

1.1. Описание конструкций  языка VBA, обеспечивающих ветвление 3

1.2. Условие задачи на разветвление алгоритма 5

1.3. Распечатка программного кода 5

1.4. Распечатка результатов выполнения 6

2. Постановка задачи на обработку информации с использованием разветвления алгоритма 7

2.1. Описание условия задачи 7

2.2. Распечатка программного кода 7

2.3. Распечатка результатов выполнения 8

3. Программная обработка информации в таблице Excel 9

3.1. Описание организации информации в  таблице Excel 9

3.2.  Условие задачи на организацию обработки информации, представленной в виде таблицы Excel 9

3.3.  Распечатка программного кода 9

3.4. Распечатка результатов выполнения 10

4. Постановка задачи на обработку информации в таблице Excel с использованием встроенного языка VBA 11

4.1 Описание условия задачи 11

4.2 Распечатка программного кода 11

4.3 Распечатка результатов выполнения 12

5. Литература и Internet-ресурсы 14

 

 

1. Организация программирования в Word с использованием встроенного языка VBA.

1.1. Описание конструкций  языка VBA, обеспечивающих ветвление

Конструкции, обеспечивающие ветвление:

Условный  оператор IF

Для реализации разветвляющегося вычислительного процесса в VBA используется оператор If…Then…Else, который представляет собой простейшую форму проверки условий. Он имеет следующий синтаксис:

If  УСЛОВИЕ   Then  ОПЕРАТОР_1  Else  ОПЕРАТОР_2

ОПЕРАТОР_1  выполняется, если УСЛОВИЕ истинно, в противном случае выполняется ОПЕРАТОР_2. При этом оператор If…Then…Else записывается в одну строку.

УСЛОВИЕ – это выражение логического типа. Результат выражения всегда имеет булевский тип. Выражение может быть простым и сложным. При записи простых условий могут использоваться все возможные операции отношения, указанные в табл. 1.1.

Таблица 1.1. Логические отношения

Операция

Название

Выражение

Результат

=

Равно

A = В

True, если А равно В

<> 

Не равно

A<>В

True, если А не равно В

Больше

А>B

True, если А ,больше В

Меньше

A<B

True, если А меньше В

>=

Больше или равно

A>=B

True, если А больше или равно В

<=

Меньше или равно

A<=B

True, если А меньше или равно В


Сложные условия образуются из простых путем применения логических операций и круглых скобок. Список логических операций приведен в табл. 1.2.

Таблица 1.2. Логические операции

 

 

Название

Выражение

А

В

Результат

Not

Логическое  
отрицание

Not A

False

True

 

True

False

And

Логическое И

A And B

True

True

False

False

True

False

True

False

True

False

False

False

Or

Логическое ИЛИ

A Or B

True

True

False

False

True

False

True

False

True

True

True

False


В условном операторе допустимо  использование блока операторов вместо любого из операторов. В этом случае условный оператор имеет вид:

If УСЛОВИЕ  Then         

 БЛОК_ОПЕРАТОРОВ_1

Else         

 БЛОК_ОПЕРАТОРОВ_2

End If 

В условном операторе может  проверяться несколько условий. В этом случае условный оператор имеет  вид:

If УСЛОВИЕ_1  Then         

 БЛОК_ОПЕРАТОРОВ_1

ElseIf УСЛОВИЕ_2  Then           

 БЛОК_ОПЕРАТОРОВ_2         

 Else                         

 ….

End If 

Оператор выбора  Select Case 

Оператор Select Case удобно использовать, когда в зависимости от значения некоторого выражения, имеющего конечное множество допустимых значений, необходимо выполнить разные действия. Он также относится к условным операторам, но имеет другой вид:

Select Case  ПРОВЕРЯЕМОЕ_ВЫРАЖЕНИЕ           

 Case  ЗНАЧЕНИЯ_1                    

 ОПЕРАТОРЫ_1          

 Case  ЗНАЧЕНИЯ_2                 

    ОПЕРАТОРЫ_2          

.  .  .          

 Case  ЗНАЧЕНИЯ_N                   

 ОПЕРАТОРЫ_N          

[Case Else                 

    ИНАЧЕ_ОПЕРАТОРЫ]

End Select

ПРОВЕРЯЕМОЕ_ВЫРАЖЕНИЕ может иметь любой скалярный тип, кроме вещественного. ЗНАЧЕНИЯ состоят из произвольного количества значений или диапазонов, отделенных друг от друга запятыми.

Тип ЗНАЧЕНИЙ должен совпадать с типом ПРОВЕРЯЕМОГО_ВЫРАЖЕНИЯ.

Сначала вычисляется ПРОВЕРЯЕМОЕ_ВЫРАЖЕНИЕ. Если его значение совпадает с одним из значений ЗНАЧЕНИЯ_I, то выполнятся ОПЕРАТОРЫ_I и управление передается оператору, стоящему после End Select. Если его значение не совпадает ни с одним из значений ЗНАЧЕНИЯ_I, то выполнятся ИНАЧЕ_ОПЕРАТОРЫ и управление передается оператору, стоящему после End Select

1.2. Условие задачи на разветвление алгоритма

 

Первая часть предусматривает  создание в прикладном программном  продукте Word макроса, обеспечивающего определение знака зодиака. Программный код, должен обеспечить выполнение следующих действий:

Во-первых, ввод дня и  месяца рождения.

Во-вторых, анализ введенной  информации и выдачу на экран названия знака зодиака, соответствующего дате рождения.

Примечание. С 22.12 по 20.01 козерог; с 21.01 по 19.02 водолей;

с 20.02 по 20.03 рыбы; с 21.03 по 20.04 овен; с 21.04 по 21.05 телец;

с 22.05 по 21.06 близнецы; с 22.06 по 22.07 рак; с 23.07 по 23.08 лев;

с 24.08 по 23.09 дева; с 24.09 по 23.10 весы;

с 24.10 по 22.11 скорпион; с 23.11 по 21.12 стрелец.

1.3. Распечатка программного кода

 

Option Explicit

 

Sub Zodiac()

   'определение знака  зодиака по дате рождения

   Dim bornDate As Date, s As String

   bornDate = InputBox("Укажите дату рождения (день и месяц) в формате XX.XX.XXXX")

   MsgBox Zod(bornDate) 'вызов ф-ции Zod от введенной даты и вывод ее результата

End Sub

 

Function Zod(x As Date)

   Dim b1 As Byte, b2 As Byte

   b1 = Month(x): b2 = Day(x) 'введенная дата разбивается на 2 переменые: месяц (b1) и день (b2)

   Select Case b1             'в случае, если месяц равен...

      Case 1: If b2 <= 20 Then Zod = "Козерог" Else Zod = "Водолей" '1 и день меньше или равен 20, то присвоить ф-ции значение "козерог", иначе - "водолей"

      Case 2: If b2 <= 19 Then Zod = "Водолей" Else Zod = "Рыбы"    '2 и день меньше...

      Case 3: If b2 <= 20 Then Zod = "Рыбы" Else Zod = "Овен"

      Case 4: If b2 <= 20 Then Zod = "Овен" Else Zod = "Телец"

      Case 5: If b2 <= 20 Then Zod = "Телец" Else Zod = "Близнецы"

      Case 6: If b2 <= 21 Then Zod = "Близнецы" Else Zod = "Рак"

      Case 7: If b2 <= 22 Then Zod = "Рак" Else Zod = "Лев"

      Case 8: If b2 <= 23 Then Zod = "Лев" Else Zod = "Дева"

      Case 9: If b2 <= 23 Then Zod = "Дева" Else Zod = "Весы"

      Case 10: If b2 <= 23 Then Zod = "Весы" Else Zod = "Скорпион"

      Case 11: If b2 <= 22 Then Zod = "Скорпион" Else Zod = "Стрелец"

      Case 12: If b2 <= 21 Then Zod = "Стрелец" Else Zod = "Козерог"

   End Select

End Function

1.4. Распечатка результатов выполнения

 

 

 

 

2. Постановка задачи на обработку информации с использованием разветвления алгоритма

2.1. Описание условия задачи

 

Найти корни квадратного  уравнения.

2.2. Распечатка программного кода

 

Option Explicit

 

Sub SquareEquation()

   'определение корней квадратного ур-я

   Dim a As Double, b As Double, c As Double, s As String

   s = InputBox("Укажите коэффициент при x^2", "Ввод чисел")

   If (s = "") Then

        a = 0

       Else

        a = s

   End If

   s = InputBox("Укажите коэффициент при x", "Ввод чисел")

   If (s = "") Then

        b = 0

       Else

        b = s

   End If

   s = InputBox("Укажите свободный коэффициент", "Ввод чисел")

   If (s = "") Then

        c = 0

       Else

        c = s

   End If

   MsgBox SqEq(a, b, c) 'вызов ф-ции и вывод ее результата

End Sub

 

Function SqEq(a As Double, b As Double, c As Double)

   Dim d As Double, x1 As Double, x2 As Double

   If (a <> 0) Then

      d = b ^ 2 - 4 * a * c

      If d >= 0 Then

         x1 = (-b + d ^ (1 / 2)) / (2 * a)

         x2 = (-b - d ^ (1 / 2)) / (2 * a)

         SqEq = "x1=" + Str(x1) + "; x2=" + Str(x2) + "."

       Else

         x1 = (-b) / (2 * a)

         x2 = Abs(d) ^ (1 / 2) / (2 * a)

         SqEq = "x1=" + Str(x1) + "+" + Str(x2) + "i" + "; x2=" + Str(x1) + "-" + Str(x2) + "i" + "."

      End If

     Else

       SqEq = "Введенное ур-е не является квадратным"

    End If

End Function

2.3. Распечатка результатов выполнения

 

 

 

 

 

 

 

 

 

 

 

3. Программная обработка информации в таблице Excel

3.1. Описание организации информации в  таблице Excel

Создание  в прикладном программном продукте Excel макроса, обеспечивающего обработку информации, расположенной в таблице Excel. В таблице Excel, в первой строке, заданы положительные целые числа. Информация занесена, начиная с первого столбца. Количество заполненных столбцов не задается. Программный код, должен обеспечить определение местоположения (номера столбца) максимального элемента.

3.2.  Условие задачи на организацию обработки информации, представленной в виде таблицы Excel

Создание  в прикладном программном продукте Excel макроса, обеспечивающего обработку информации, расположенной в таблице Excel. В таблице Excel, в первой строке, заданы положительные целые числа. Информация занесена, начиная с первого столбца. Количество заполненных столбцов не задается. Программный код, должен обеспечить определение местоположения (номера столбца) максимального элемента.

3.3.  Распечатка программного кода

Sub FindMaxValue()

Dim oRg As Range, iMax As Variant

'Выбираем первую строку  в качестве диапазона поиска

Set oRg = Rows("1")

    'Находим максимальное  значение

    iMax = Application.Max(oRg)

    'Выбираем в  диапазоне ячейку, содержащую максимальное  значение

    oRg.Find(What:=iMax, _

        After:=oRg.Range("A1"), _

        LookIn:=xlValues, _

        LookAt:=xlPart, _

        SearchOrder:=xlByRows, _

        SearchDirection:=xlNext, MatchCase:=False _

        ).Select

    'Изменяем формат выбранной ячейки (цвет)

    With Selection.Interior

        .Pattern = xlSolid

        .PatternColorIndex = xlAutomatic

        .ThemeColor = xlThemeColorAccent3

        .TintAndShade = 0

        .PatternTintAndShade = 0

    End With

    'Выводим сообщение с данными по найденной ячейке

    With Selection

        MsgBox "Max value : " & iMax & vbCrLf & _

        "Cell position " & vbCrLf & _

        "Row : " & .Row & vbCrLf & _

Информация о работе Использование VBA при работе в Microsoft Office