Описание данных начинается с оператора DIM
Основы программирования.
Типы данных и константы. Операции и встроенные функции, операторы.
Процедуры и модули для кода VBA
Код VBA должен где-то находиться, и это “где-то” называется модулем. Модуль состоит из процедур. Каждая содержащаяся в модуле процедура является либо процедурой-функцией, либо процедурой-подпрограммой.
Модуль — это совокупность объявлений (описательная часть) и процедур, хранящихся как единое целое.
Процедура — любая совокупность кода VBA, рассматриваемая как единое целое. Как правило, процедура состоит из операторов, выполняющих какую-либо задачу или вычисляющих значение. Каждая процедура идентифицируется своим уникальным именем. Часто выполнение процедуры является реакцией на какое-либо событие. В этом случае говорят, что процедура обрабатывает событие.
Переменные
Переменная — это место для хранения значений. Переменная содержит данные, которые могут изменяться в процессе выполнения программы.
Описание данных
Все объекты, которыми оперирует язык программирования VВА, относятся к определенному типу.
Тип данных определяет:
– область возможных значений переменной;
– структуру организации данных;
– операции, определенные над данными этого типа.
Типы данных подразделяются на простые (скалярные) и сложные (структурированные). У простых типов данных возможные значения данных едины и неделимы. Сложные же типы имеют структуру, в которую входят различные простые типы данных. Скалярные типы данных представлены в таблице 1.
Таблица 1. Скалярные типы VBA
Имя типа | Русское название типа | Возможные значения |
Boolean | Логический | True, False |
Byte | Байтовый | 0…255 |
Integer | Целое | -32768…+32767 |
Long | Длинное целое | -2147483648…+2147483647 |
Single | Число с плавающей точкой | -3,4Е38…-1,4Е-45 для отрицательных значений. 1,4Е-45…3,4Е38 для положительных значений. |
Double | Число с плавающей точкой двойной точности | -1,7Е308…-4,9Е-324 для отрицательных значений. 4,9Е-324…1,7Е308 для положительных значений. |
Currency | Денежный | Десятичные числа с фиксированной позицией запятой. Возможны 15 цифр до запятой и 4 после. |
String | Строковый | Есть два вида строк: строки фиксированной длины (до 216 символов) и строки переменной длины (до 231 символов). Данные записываются в кавычках. |
Date | Дата | Даты изменяются в диапазоне от 1.01.100г. до 31.12.9999г. |
Object | Объект | Ссылка на объект (указатель) |
Variant | Вариант | Универсальный тип, значением которого могут быть данные любого из перечисленных выше типов, объекты, значения NULL и значения ошибок ERROR. |
Переменные в программе можно описывать или не описывать. В последнем случае ей будет присвоен тип Variant. Явно описывать переменную можно как в начале блока, так и в любом месте, где возникла необходимость использовать новую переменную. Лучше все переменные описывать явно и, как правило, в начале блока
Описание данных начинается с оператора DIM
Имя переменной должно начинаться с буквы и может содержать буквы, цифры и другие символы. Имя не может содержать пробелы, точки, запятые, восклицательный знак и символы “@”, “&”, “$”, “#”. Имя не должно содержать более 255 символов.
Тип переменных в операторе Dim можно не указывать. Тогда VBA применит тип данных по умолчанию (Variant). Кажется, что это удобно, но все же лучше тип данных определять. По нескольким причинам. Во-первых — в целях экономии ресурсов памяти. Ни один тип не требует 16 или 22 байтов для сохранения значений переменных. Во-вторых, VBA по-разному обрабатывает данные разных типов. Поэтому, не объявляя тип данных, вы можете получить результат, отличающийся от желаемого. И, наконец, от типов данных в VBA зависит время выполнения процедур.
Пример определения переменных:
Dim A As Integer, B As Byte, С As String
Переменная А определена как целое число (не больше 32 767 и не меньше –32 768); переменная В определена как целое неотрицательное число (не больше 255), а в переменной С может храниться текстовая информация.
Использование констант
Как мы уже узнали, переменные используются для хранения данных, которые могут изменяться в процессе выполнения процедуры. Если надо хранить постоянную информацию, не изменяющуюся при выполнении процедуры, то применяются константы. Для объявления констант и их значений используется оператор Const, имеющий следующий синтаксис:
Const Имя_константы As тип_данных = значение
При объявлении констант используются те же типы данных, что и при объявлении переменных.
Пример объявления константы:
Const Годы_учебы As Byte = 11