Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Информатика VBA.pdf
Скачиваний:
891
Добавлен:
27.03.2016
Размер:
1.1 Mб
Скачать

января 1899 года (один день до 30.12.1899). Дробная часть числа типа Date определяет время суток в секундах.

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

2.3 Константы VBA

Константами называются объекты, значения которых не могут быть изменены в процессе выполнения программы. Константа имеет тип и значение. Если сама форма записи определяет константу, то она называется литеральной константой (literal constants), потому что литеральное значение записывается непосредственно в код программы. Константа, определяемая именем, называется именованной.

Целая литеральная константа представляет собой последо-

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

Примеры: 81 +2004 0 225 13.

Если целая константа укладывается в диапазон от -32768 до 32767, то для ее хранения отводится 2 байта памяти и ей присваивается тип Integer. Если значение целой константы выходит за рамки этого диапазона значений, то для ее хранения отводится либо 4 байта памяти (тип Long), либо 8 байт памяти и ей присваивается тип Double.

22

Вещественные константы представляются в ячейке памяти ЭВМ единообразно, в виде мантиссы и порядка и могут принимать одну из двух форм:

-вещественная константа с фиксированной точкой;

-вещественная константа двойной точности.

Вещественная буквальная константа с фиксированной точ-

кой включает знак числа, последовательность цифр и десятичную точку (обязательно), отделяющую целую часть числа от дробной части. Если мантисса заданной константы содержит меньше восьми цифр, то ей присваивается тип Single и для ее хранения отводится 4 байта памяти. Если в мантиссе константы больше семи цифр, то она хранится в 8-ми байтах памяти и ей присваивается тип Double.

Пример:

2,75 записывается

2.75 (тип Single);

0,1 записывается

0.1

или

.1 (тип Single);

13 записывается

13.0

или

13. (тип Single).

Число π можно записать как 3.141592653589793 и для хранения такого числа потребуется 8 байт памяти и тип Double.

Вещественная литерная константа двойной точности

должна заканчивается символом решетка («#») и для ее хранения отводится 8 байт памяти.

Пример. Скорость света 299800000 м/сек = 2,998×108, задается числом 2.998E8, а в программе сохраняется как 299800000#.

Литеральные логические константы принимают одно из двух значений: истина или ложь. Истина записывается как TRUE ; ложь обозначается словом FALSE . Они занимают 2 байта памяти.

Литеральные символьные (текстовые, строковые) константы

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

23

константы равна ее количеству символов. Пустая строковая константа (называемая нулевой строкой – null string или empty string) обозначается двумя двойными кавычками, между которыми ничего нет (""). Вся текстовая константа должна находиться на одной и той же строке.
Пример.

Последовательность

Константа

 

Длина константы

символов

 

 

 

Университет

"Университет "

 

11

O'GENRY

"O'GENRY"

 

7

МГТУ "МАМИ"

"МГТУ ""МАМИ""

11

 

 

 

Литеральные константы типа Date позволяют задать необходимую дату и время в привычном для человека виде. Константа типа Date ограничивается с двух сторон символом решетка (#), внутри которых информация задается в форматах, разрешенных в Excel для дат и времени.

Пример.

Константа #12/31/12# определяет 31 декабря 1912 года.

Константа #February 12, 2012 19:15# определяет 19 часов 15

минут 12 февраля 2012 года, а в программе сохраняется как

#2/12/2012 7:15:00 PM#.

Именованные константы (named constants) имеют собствен-

ное уникальное имя, которое создается по правилам, описанным выше. Конкретное значение именованная константа получает в операторе Const. Это значение не может быть изменено в процессе выполнения программ. Синтаксис оператора Const позволяет определять не только значение именованной константы, но и ее тип.

Пример.

Const pi = 3.141592653589793, text="Начало"

24

При определении значений именованных констант в операторе Const такого синтаксиса, тип констант определяется автоматически. Данный оператор определяет именованную константу pi типа VariantDouble, т.к. в мантиссе константы содержится 16 цифр, и текстовую константу text типа VariantString, содержащую 6 символов.

Синтаксис оператора Const позволяет задавать тип констант яв-

но:

Const pi = 3.141592653589793 As Double , text="Начало" As String

Этот оператор определяет именованные константы с теми же именами, но их типы определены явно – соответственно Double и String.

Область действия именованных констант - именованные константы можно объявлять в начале процедуры или в области объявлений модуля. Константа, объявляемая в процедуре, имеет область действия процедурного уровня, а константа, объявляемая в области объявлений модуля, – область действия модульного уровня и доступна в любой процедуре модуля.

Помимо именованных констант, тип и значение которых определяет программист, VBA имеет несколько внутренних констант

(intrinsic constants), называемых также предопределенными константами (predefined constants). Внутренняя константа – это

именованная константа, которая была определена разработчиками VBA и значение которой не может быть изменено в программе.

Имена внутренних константы начинаются с букв «vb» для указания того, что они определяются языком Visual Basic for Applications или Visual Basic. За буквами «vb» следует мнемоническое название этой константы. Например, константа vbOKCancel имеет числовое значение, по которому функция MsgBox отображает в диалоговом окне кнопки OK и Cancel. Константа vbLf имеет числовое значение 13 и определяет символ конца строки. Внутренние константы Excel

25