- •Макросы
- •Техника создания макросов
- •Примечание:
- •Примечание:
- •Редактирование макросов
- •Выполнение макроса с условиями
- •Основные термины языка программирования vba
- •Р ис. 6.1. Окно модуля
- •Раздел описания
- •Создание процедуры
- •Тип данных Хранимые значения Область значений
- •Integer Целое число От -32768 до 32767
- •Условные операторы
- •Операторы цикла
- •Процедура-функция для обработки событий в формах.
- •Примечание:
- •Использование процедуры-функции в отчетах
- •Применение процедур-подпрограмм
- •Выполнение кода vba
- •Примечание:
- •Процедура Вызов
- •Примечание:
Условные операторы
В языке VBA, как и в других языках программирования, основными элементами, управляющими ходом выполнения процедуры, являются условные операторы. Наиболее простой из них — оператор If...Then:
If Полина = "Ж" Then
Поздравление = "С 8 марта"
End If
Если условие, заданное выражением между ключевыми словами If и Then, выполняется, соблюдаются инструкции внутри блока, ограниченного ключевыми словами Then и End If. Иначе операторы между ключевыми словами Then и End If не будут выполнены, a Access 97 перейдет к обработке оператора, который следует за ключевыми словами End If. В случае необходимости произвести два различных действия (одно — при соблюдении условия, а второе — нет), надлежит воспользоваться полной формой оператора If:
If Полина = "Ж" Then Поздравление = "С 8 марта"
Else
Поздравление = "С 23 февраля!"
End If
Если условие соблюдается, выполняются операторы, указанные между ключевыми словами Then и Else, а если не соблюдается — операторы между ключевыми словами Else и End If.
Далеко не во всех ситуациях возможны два варианта решения. Учитывая это, VBA предоставляет в распоряжение пользователей оператор Select Case, предназначенный для выбора одного из множества вариантов решений:
Select Case Город
Case "Киев"
Код_МГТС = "044"
Case "Москва"
Код_МГТС = "095"
Case "Запорожье"
Код_МГТС = "061-2"
Case Else ,' Print "Я не знаю код !№о*о города!"
End Select
При выполнении этого оператора проверяется значение переменной Город. В зависимости от результата проверки переменной Код_МГТС присваивается телефонный код некоторого города. Если значение переменной Город не совпадает ни с одним из значений, перечисленных в строках с ключевым словом Case, производится действие, указанное между ключевыми словами Case Else и End Select.
Операторы цикла
Цикл используется для неоднократного повторения одной или нескольких инструкций. Количество повторений цикла связано с некоторым условием. В VBA предусмотрено несколько разновидностей циклов. Простейшим примером использования циклической конструкции — так называемого цикла по счетчику — может служить следующая процедура:
Sub For_цикл() Dim Счетчик As Integer
For Счетчик = 1 To 10 Print Счетчик Next Счетчик End Sub
Цикл по счетчику ограничивается ключевыми словами For и Next. После ключевого слова For указывается имя переменной, которая будет выполнять роль счетчика, после знака равенства — начальное значение счетчика, а после ключевого слова То — конечное значение счетчика.
Еще одна разновидность цикла — While-цикл. Условие выполнения команд внутри такого цикла определяется некоторым условным оператором:
Sub Цикл ()
Dim Счетчик as Integer
Счетчик= 1
Do While Счетчик<>10
Print Счетчик
Счетчик=Счетчик+1
Loop
End Sub
В данном случае последовательность операторов между строками Do While и Loop выполняется девять раз, что определяется истинностью условного выражения, которое следует за ключевым словом While, Выполнение цикла продолжается, пока значение переменной Счетчик не станет равным 10. В общем случае цикл Do While выполняется, пока истинно условное выражение, которое следует за ключевым словом While. Разновидностью цикла Do является Until-цикл, который выполняется, пока условное выражение ложно:
Do Until Счетчик=10 Print Счетчик Счетчик=Счетчик+1
Loop
В этом случае результат тот же, что и в предыдущем примере, но цикл повторяется до тех пор, пока счетчик не достигнет жестко установленного значения — 10.