Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
VBA For Excel Часть 01.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
1.16 Mб
Скачать

2 Переменные и константы

2.1 Структура модуля

Каждый модуль в VBA состоит из двух областей:

  • General (Общая область) – область для описания глобальных переменных, а так же для объявления не событийных подпрограмм. Эта область состоит из двух соответствующих подобластей:

  • Declaration (Описания) - раздел описания глобальных переменных, констант и полей модуля (этот раздел расположен в самом верху редактора модуля)

  • Раздел описания не событийных подпрограмм – расположен под разделом описания, не событийные процедуры могут описываться вперемешку с событийными, но через специальное, правое поле со списком редактора модуля, не событийная процедура выбирается только в разделе General (Общая область), когда эта область выбрана из левого поля со списком редактора модуля.

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

В ыбор Общей области или имени объекта

В ыбор раздела Описания или имени не событийной подпрограммы, а так же имени события происходящего в выбранном объекте

Програм-

мный

код модуля

Кнопка, утанавливающая режим просмотра только текущей подпрограммы в редакторе модуля

Кнопка, утанавливающая режим просмотра всех подпрограмм в редакторе модуля

Рис.1. Вид окна редактора модуля

2.2 Объявление переменных и констант

Переменные и именованные константы являются глобальными для всех процедур и функций внутри модуля, если они описаны в общей области модуля в разделе описания, и являются локальными, если они описаны внутри процедуры или функции. Объявляются переменные служебным словом Dim , а константы, служебным словом Const.

Формат описания переменной:

Dim имя_переменной1 [as тип], имя_переменной2 [as тип]

Если служебное слово as c типом опущены, то переменная имеет тип Variant.

Формат описания констант:

Const Имя_константы1 [as тип] = Значение

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

Типы переменных и констант

Имя типа

Разновидность

Типа

Диапазон значений

Размерность

Byte

Байт

От 0 до 255

1 байт

Integer

Короткое целое

От –32768 до 32767

2 байта

Long

Длинное целое

От –2147483648 до 2147483647

4 байта

Single

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

От 1,5*10-45 до 3,4*1038

4 байта

Double

Вещественное двойной точности

От 5,0*10-324 до 1,7*10308

8 байт

Currency

Денежный

(числовая переменная, которая содержит четыре фиксированных разряда после запятой)

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

8 байт

Boolean

Логический

True или False

2 байта

Date

Дата

Хранит в себе календарную дату и(или) время, значение которого обычно задают в строковом формате.

8 байт

String

Строковый

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

От 0 до 65535 байт

String * N

Строка фиксированной длины

Состоит из N символов. Если данной строке присвоено символов меньше чем N, то к строке автоматически добавляются пробелы. Если больше чем N, излишек символов от строки отбрасывается. По умолчанию данная строка состоит из N символов имеющих код 0.

N байт

Variant

Универсальный

Любой неструктурированный тип в этой переменной представляется в виде строки символов.

От 0 до 65535 байт

Object

Объектный

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

В VBA нет способа объявления глобальных переменных для всех модулей проекта, но существует возможность объявить поле модуля, которое будет использоваться как переменная. Объявляются поля модуля так же в общей области, следующим способом:

Private / Public Имя_поля_модуля [as тип]

Если внутри модуля макросов поле объявлено служебным словом Public, оно доступно для всех модулей проекта, Privateобъявляет локальное поле модуля.

Правильным обращением к данному полю из другого модуля было бы следующим:

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]