Анимация
JavaScript


Главная  Библионтека 

0 1 2 3 4 5 6 7 8 [ 9 ] 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57

4.2. Переменные и постоянные

Все переменные в VBA имеют тип. Тип указывает, что может хранить переменная: целое или вещественное число, строку, дату и т. д. Базовые типы переменных VBA приведены в табл. 4.1.

Таблица 4.1. Типы переменных

Тип переменной

Занимаемый размер памяти, байт

Диапазон

Boolean (логический)

True (истина) или False (ложь)

Integer (целое)

От -32 768 до 32 768

Long (длинное целое)

От-2 147 483 648 до 2 147 483 647

Single (число с плавающей точкой)

По абсолютной величине от 1,401298Е-45 до 3,402823Е38

Date (дата)

От 1 января 100 г. до 31 декабря 9999 г.

Array (массив)

Зависит от размера массива и типа элементов массива

Double (число с плавающей точкой двойной точности)

По абсолютной величине от 4,94065645841247Е-324 до 1,79769313486232Е308

Object (объект)

Любой определенный объект

String (строка

переменной

длины)

От 0 до 2xl0- длина строки

Currency (денежный)

От -922 337 203 685 477,5808 до 922 337 203 685 477,5807

Variant (вариант)

Зависит от содержимого переменной

Если не указан тип переменной, то по умолчанию используется тип Variant. Переменные этого типа могут содержать данные любого типа, кроме типов, определенных пользователем,



и строк фиксированной длины. Тип такой переменной изменяется в зависимости от последнего присвоения. Поэтому тип Variant очень удобен. Однако указание конкретного типа позволяет делать функции более быстрыми и надежными.

Константу в VBA можно описать с помощью следующей конструкции:

Const ИМЯ КОНСТАНТЫ As ТИП К0НСТАНТЫ=ЗНАЧЕНИЕ

Например:

Const Pi As Double=3.1415

Переменную в VBA можно описать с помощью следующей конструкции:

Dim ИМЯ ПЕРЕМЕННОЙ As ТИП ПЕРЕМЕННОЙ

Например, возможны следующие описания переменных:

Dim А As Integer

Dim В, С, D As Integer, Е As Single

Описанные таким образом переменные имеют следующие типы: переменные А и D являются переменными целого типа (Integer), переменная Е является действительной переменной одинарной точности (Single), переменные В и С описаны неявно и имеют тип Variant.

Однако более удобно использовать явное описание типов переменных, чтобы в ходе разработки кода программы не возникал вопрос о применимости к данной переменной той или иной функции или операции.

Если все же приходится использовать переменную типа Variant, то перед тем, как применить к переменной или выражению, содержащему эту переменную, некоторую функцию или операцию, необходимо определить подтип данных переменной типа Variant. Существуют специальные логические функции для определения подтипа данных:

• IsNumeric (выражение) - определяет, является ли результат вычисления выражения числом;

• IsArray (выражение) - определяет, является ли результат вычисления выражения массивом;



• IsDate (выражение) - определяет, является ли результат вычисления выражения датой;

• IsObject (выражение) - определяет, является ли результат вычисления выражения объектом и т. д.

По умолчанию строковая или текстовая переменная (String) является массивом переменной длины, который содержит символы. Однако текстовая переменная может быть определена и фиксированной длины. В следующем примере объявляется символьный массив размером в 20 символов:

Dim Str As String*20

В этом случае, если вы присвоите переменной Str строку длиной более 20 символов, то она будет усечена.

Ключевое слово Туре позволяет описать собственные типы данных, созданные на основе стандартных.

Тип переменной в VBA можно описать с помощью следующей конструкции:

[Private/Public] Туре ИМЯ ПЕРЕМЕННОЙ

ИМЯ ЭЛЕМЕНТА [ ( [ИНДЕКСЫ])] As ТИП ИМЯ ЭЛЕМЕНТА [ ( [ИНДЕКСЫ])] As ТИП

End Туре

Например, информация о некотором служащем может быть представлена так:

Туре Worlcer

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



0 1 2 3 4 5 6 7 8 [ 9 ] 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57