Однако более удобно использовать явное описание типов переменных, чтобы в ходе разработки кода программы не возникал вопрос о применимости к данной переменной той или иной функции или операции.
Если все же приходится использовать переменную типа Variant, то перед тем, как применить к переменной или выражению, содержащему эту переменную, некоторую функцию или операцию, необходимо определить подтип данных переменной типа Variant. Существуют специальные логические функции для определения подтипа данных:
• IsNumeric (выражение) - определяет, является ли результат вычисления выражения числом;
• IsArray (выражение) - определяет, является ли результат вычисления выражения массивом;
Программирование в среде Visual Basic for Applications
• IsDate (выражение) - определяет, является ли результат вычисления выражения датой;
• IsObject (выражение) - определяет, является ли результат вычисления выражения объектом и т. д.
По умолчанию строковая или текстовая переменная (String) является массивом переменной длины, который содержит символы. Однако текстовая переменная может быть определена и фиксированной длины. В следующем примере объявляется символьный массив размером в 20 символов:
Dim Str As String*20
В этом случае, если вы присвоите переменной Str строку длиной более 20 символов, то она будет усечена.
Ключевое слово Туре позволяет описать собственные типы данных, созданные на основе стандартных.
Тип переменной в VBA можно описать с помощью следующей конструкции:
[Private/Public] Туре ИМЯ_ПЕРЕМЕННОЙ
ИМЯ_ЭЛЕМЕНТА [ ( [ИНДЕКСЫ])] As ТИП ИМЯ_ЭЛЕМЕНТА [ ( [ИНДЕКСЫ])] As ТИП
End Туре
Например, информация о некотором служащем может быть представлена так:
Type Worker
FirstName As String*20
LastName As String*20
Birthday As Date
Phone As String*7
Salary As Single End Type
Dim New_Worker As Worker
Как и в других языках программирования, в VBA можно использовать массивы.
Примеры объявления массивов:
Dim А(19) As Integer Dim В(5, 5) As Single
4 фамилия 4 имя
л дата рождения л телефон ' зарплата