
- •Основы программирования на языке Visual Basic for Applications Типы данных
- •Тип данных Boolean
- •Тип данных Date
- •Тип данных Decimal
- •Тип данных Byte
- •Тип данных Integer
- •Тип данных Long
- •Тип данных Currency
- •Тип данных Object
- •Тип данных Single
- •Тип данных String
- •Определяемый пользователем тип данных
- •Тип данных Variant
- •Определение подтипа данных переменной типа Variant
- •Функции определения типа
- •Константы
- •Переменные
- •Массивы
- •Описание массивов фиксированного размера
- •Описание динамического массива
- •Использование многомерных массивов
- •Правила присвоения имен в языке Visual Basic
Тип данных Object
Данные типа Object сохраняются как 32-разрядные (4-байтовые) адреса, в которых содержатся ссылки на объекты. Переменной, описанной с типом Object, можно затем присвоить (с помощью инструкции Set) ссылку на любой объект, созданный в приложении.
Хотя описание переменной с типом Object является достаточно гибким средством, позволяющим создать ссылку на любой объект, связывание переменной с объектом осуществляется при выполнении. Для предварительного связывания переменной с объектом (при компиляции) следует указать ссылку на объект в переменной, описанной с конкретным именем класса.
Тип данных Single
Данные типа Single – это числа с плавающей точкой обычной точности. Они сохраняются как 32-разрядные (4-байтовые) числа с плавающей точкой в диапазоне от -3,402823E38 до -1,401298E-45 для отрицательных значений и от 1,401298E-45 до 3,402823E38 для положительных значений. Данные такого типа могут иметь любое число цифр до или после десятичной точки (в пределах указанных границ) и получили свое название вследствие того факта, что десятичная точка «плавает» из одной позиции в другую, в зависимости от того, сохраняется в памяти большое или малое значение. Числа с плавающей точкой иногда называют действительными числами. Символом описания типа для типа Single служит восклицательный знак (!).
Тип данных String
Любые текстовые данные, используемые в VBA , называются строками. Строка может содержать текстовые символы любых типов: буквы алфавита, цифры, знаки пунктуации или различные символы.
Существует два типа строковых значений:
Строки переменной длины, которые могут содержать до, приблизительно, 2 миллиардов (2^31) символов.
Строки постоянной длины, которые могут содержать от 1 до, приблизительно, 64K (2^16) символов.
Типы String играют важную роль в программах. Большинство данных ввода пользователей (в диалоговых окнах, ячейках рабочих листов) – это строковые данные. Кроме того, поскольку на экране монитора можно отображать только текст, все другие типы данных должны быть преобразованы в строковые данные перед тем, будут выведены на экран.
Определяемый пользователем тип данных
Любой тип данных, определяемый пользователем с помощью инструкции Type. Типы данных, определяемые пользователем, могут содержать один или несколько элементов любого типа данных, массивы или ранее определенные пользователем типы. Например:
Type MyType
MyName As String ' Имя записывается в строковую переменную.
MyBirthDate As Date ' День рождения записывается в переменную даты.
MySex As Integer ' Пол записывается в целую переменную
End Type ' (0 для женщины, 1 для мужчины).
Тип данных Variant
Тип данных Variant является типом, к которому относятся все переменные, не описанные явно с другим типом данных (с помощью инструкций Dim, Private, Public или Static). Для типа Variant не определен символ описания типа.
Variant является особым типом данных. Переменные этого типа могут содержать любые данные, за исключением строк (тип String) фиксированной длины и определяемых пользователем типов
Dim MyVar As Variant
MyVar = 98052
В этом примере переменная MyVar содержит представление числового значения 98052. Арифметические операторы можно применять к значениям типа Variant, содержащим как числа, так и строковые значения, которые могут быть интерпретированы как числа. Если применить оператор «+» для сложения переменной MyVar с другой переменной типа Variant, содержащей число, или с переменной числового типа, то результатом будет арифметическая сумма.
Если при описании константы, переменной или аргумента не указан тип данных, им автоматически присваивается тип данных Variant. Переменные, описанные с типом данных Variant, могут содержать строку, дату, время, логические (Boolean) или числовые значения и могут автоматически преобразовываться к другому типу.
Следующие инструкции создают переменные Variant:
Dim myVar
Dim yourVar As Variant
theVar = "Это текст."
В последней инструкции переменная theVar не описывается явно, она описывается неявно или же автоматически. Переменные, описанные неявно, получают тип данных Variant.
Если для переменной или аргумента указан определенный тип данных, а затем используется неверный тип, то возникает ошибка. Чтобы избежать ошибок, связанных с типами данных, рекомендуется или использовать только неявно описанные переменные (тип данных Variant), или явно описывать все переменные с определенным типом данных. Последний способ предпочтительнее.