- •Основы языка Visual Basic for Applications Введение
- •Стандартные модули и модули класса
- •Окно редактора кода vbe
- •Раздел описания
- •Отображение модулей
- •Создание процедуры
- •Редактирование в окне модуля
- •Аргументы процедуры
- •‘Пересчет цены в рублях в цену в долларах’
- •Основные операторы vba Переменные и оператор присваивания
- •Типы данных
- •Математические функции и операторы
- •Логические операторы
- •Ввод данных
- •Вывод данных
- •Условные операторы
- •Операторы цикла
- •Процедура-функция для обработки событий в формах
- •Применение процедур-подпрограмм
- •Выполнение кода vba
- •Инициализация кода
Редактирование в окне модуля
Редактирование модуля осуществляется в специальном окне, которое открывается в результате нажатия кнопки Конструктор в окне базы данных. При этом на вкладке Модули должно быть отмечено имя подлежащего обработке модуля.
Код модуля и тексты подпрограмм/функций редактируются так же, как документы в обычном текстовом редакторе.
Аргументы процедуры
Усложним рассмотренный ранее пример пересчета цен. Значение курса валют зададим как аргумент для функции пересчета RubleDollar. В случае изменения курса валют пользователю не придется редактировать текст процедуры – будет достаточно изменить только аргумент функции при обращении к ней.
При описании процедуры, зависящей от аргументов, имя аргумента принято вводить в скобках за именем процедуры в строке с ключевым словом Function/Sub:
Public Function RubleDollar(Rate)
‘Пересчет цены в рублях в цену в долларах’
Forms ! GoodsPrice ! PriceD = Forms ! GoodsPrice ! Price / Rate
End Function
При вызове такой функции значение аргумента указывается в скобках после имени функции:
= RubleDollar(31)
Основные операторы vba Переменные и оператор присваивания
Переменные используются для сохранения значений величин, изменяющихся в процессе выполнения программы. Каждая переменная имеет имя, по которому происходит обращение к ней.
Присвоение значения переменной осуществляется посредством оператора присваивания, в котором слева указывается имя переменной, а справа — присваиваемое значение или выражение:
Номер = 1
Город = «Новые Васюки»
Температура =5.9
Синус = Sin (1.3)
Коэффициент = 234 / 4 * 0.5
Переменные могут создаваться VBA автоматически по мере появления в процедуре (неявное объявление). Переменные, которые не объявляются явно, по умолчанию имеют тип Variant. Внутри такой переменной кроме значения хранится индикатор типа значения.
Неявное объявление переменных допустимо только в случае отсутствия оператора Option Explicit в области описания модуля. Чтобы при создании нового модуля предотвратить появление этого оператора в области описания, следует отключить опцию Require Variable Declaration диалогового окна настройки параметров.
Явное описание переменных выполняется с помощью оператора Dim, после которого указываются имя переменной и ее тип:
Function Расчет()
Dim A As Integer
Dim Коэффициент As Single
Dim Результат As Single
A = 1 Коэффициент = 234 /4*0.5
Результат = А / Коэффициент
End Function
В этом примере переменная А объявлена целой (As Integer), а переменные Результат и Коэффициент — действительными переменными единичной длины (As Single).
Попытку занести в целую переменную текстовую строку компилятор VBA расценит как ошибку и выдаст соответствующее сообщение.
Если при явном объявлении переменной не указан тип данных, заданы оператор Dim и ее имя, будет создана переменная типа Variant, которой можно присваивать цепочки символов, числа с плавающей запятой, а также значения даты и времени (совершенно разные типы данных). Ассеss 2000 однозначно идентифицирует присваиваемые значения, поскольку наряду с ними он хранит в переменной и признак типа.
