- •Основы языка Visual Basic for Applications Введение
- •Стандартные модули и модули класса
- •Окно редактора кода vbe
- •Раздел описания
- •Отображение модулей
- •Создание процедуры
- •Основные операторы vba Переменные и оператор присваивания
- •Редактирование в окне модуля
- •Аргументы процедуры
- •‘Пересчет цены в рублях в цену в долларах’
- •Типы данных
- •Математические функции и операторы
- •Логические операторы
- •Ввод данных
- •Вывод данных
- •Условные операторы
- •Операторы цикла
- •Процедура-функция для обработки событий в формах
- •Применение процедур-подпрограмм
- •Выполнение кода vba
- •Инициализация кода
Логические операторы
Стандартные логические операции (>,<,>=,<=,<>)
Оператор OR. Выполняет операцию логического ИЛИ (сложения) для двух выражений. Синтаксис: результат=выражение1 Or выражение2
Оператор AND. Возвращает результат конъюнкции (логического И) для двух выражений. Синтаксис: результат=выражение1 And выражение2
Оператор Not. Выполняет над выражением операцию логического отрицания. Синтаксис: результат=Not выражение
Ввод данных
Для ввода данных используется оператор присваивания (например: а=200) или функция InputBox.
Функция InputBox расширяет возможности организации диалога с пользователем, позволяя пользователю ввести данные. Функция имеет следующий синтаксис:
InputBox(сообщение[,заголовок]),
где сообщение – это подсказывающее сообщение, которое нужно вывести в диалоговом окне;
заголовок – это текст, который будет помещен в строку заголовка диалогового окна. Если этот параметр будет опущен, строка заголовка будет пустой.
Например: переменной а будет присвоено значение, введенное пользователем.
а=InputBox(«Введите число а»,«Ввод данных» )
Вывод данных
Для вывода данных используется функция MsgBox. Эта функция выводит на экран диалоговое окно, содержащее сообщение, устанавливает режим ожидания нажатия кнопки пользователем, а затем возвращает значение типа Integer, указывающее, какая кнопка была нажата.
Формат функции:
MsgBox(prompt[,buttons][,title][,helpfile,context])
Prompt – обязательный аргумент. Строковое выражение, отображаемое как сообщение в диалоговом окне. Максимальная длина строки prompt составляет приблизительно 1024 символов и зависит от ширины используемых символов. Строковое значение prompt может содержать несколько физических строк. Для разделения строк допускается использование символа возврата каретки (Chr(13)), символа перевода строки (Chr(10)) или комбинации этих символов (Chr(13)) & (Chr(10)).
Buttons – необязательный. Числовое выражение, представляющее сумму значений, которые указывают число и тип отображаемых кнопок, тип используемого значка, основную кнопку. Значение по умолчанию этого аргумента равняется 0- отображается только кнопка ОК.
Условные операторы
В языке VBA, как и в других языках программирования, основными элементами, управляющими ходом выполнения процедуры, являются условные операторы. Наиболее простой из них — оператор If...Then:
If Город = "Саратов" Then Почтовый_код = "410000" End If
Если условие, заданное выражением между ключевыми словами If и Then выполняется, соблюдаются инструкции внутри блока, ограниченного ключевыми словами Then и End If. Иначе операторы между ключевыми словами Then и End If не будут выполнены, a Access 2000 перейдет к обработке оператора, который следует за ключевыми словами End If. В случае необходимости произвести два различных действия (одно — при соблюдении условия, а второе — нет), надлежит воспользоваться полной формой оператора If:
If a > b Then y=a Else y = b End If
Если условие соблюдается, выполняются операторы, указанные между ключевыми словами Then и Else, а если не соблюдается — операторы между ключевыми словами Else и End If.
Оператор Select Case предназначен для выбора одного из множества вариантов решений
Пример1:
Select Case Город
Case "Киев"
Код_МГТС = "044"
Case "Москва"
Код_МГТС = "095"
Case "Саратов"
Код_МГТС = "845-2"
Case Else
Print "Я не знаю код этого города!"
End Select
Пример2:
Select Case x
Case Is < 2
y = 4 * x ^ 2 + 11 * x
MsgBox "Переменная х = " & x & Chr(13) & "Результат Y = " & y
Case 2
y = 5 - 8 * x ^ 2
MsgBox "Переменная х = " & x & Chr(13) & "Результат Y = " & y
Case 6 To 25
y = 2 * x - 5 * x
MsgBox "Переменная х = " & x & Chr(13) & "Результат Y = " & y
Case Is >= 26
y = Abs(x - 4 * x ^ 2)
MsgBox "Переменная х = " & x & Chr(13) & "Результат Y = " & y
Case Else
MsgBox "Переменная не соответствует ни одному из предложенных диапазонов"
End Select
