Использование VBA при работе в Microsoft Office
Контрольная работа, 04 Февраля 2014, автор: пользователь скрыл имя
Краткое описание
Сначала вычисляется ПРОВЕРЯЕМОЕ_ВЫРАЖЕНИЕ. Если его значение совпадает с одним из значений ЗНАЧЕНИЯ_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
ПРОВЕРЯЕМОЕ_ВЫРАЖЕНИЕ может иметь любой скалярный тип, кроме вещественного. ЗНАЧЕНИЯ состоят из произвольного количества значений или диапазонов, отделенных друг от друга запятыми.
Тип ЗНАЧЕНИЙ должен совпадать с типом ПРОВЕРЯЕМОГО_ВЫРАЖЕНИЯ.
Сначала вычисляется ПРОВЕРЯЕМОЕ_
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 & _