Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
VBA (методичка).doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
2.3 Mб
Скачать

6.Объявление переменных

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

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

Явное объявление переменных

{DimPrivatePublicStatic} имяПеременной [As <типДанных>] [, имяПеременной [As <типДанных>]] …

Первая часть объявлений – объявление области видимости переменной при помощи соответствующих операторов:

Dim

  • Объявляет переменную в разделе описаний (вне процедур модуля), тогда переменная видима для всех процедур и функций данного модуля.

  • Внутри тела процедуры и в любом месте процедуры, но до операторов, использующих ее. Переменная видима только в данной процедуре. При входе в процедуру под переменную выделяется память и происходит ее инициализация, затем, в ходе выполнения процедуры, значение переменной может меняться, после выхода из процедуры выделенная память высвобождается, и, соответственно, теряется значение переменной.

Static – объявляет статическую переменную внутри тела процедуры и в любом месте процедуры, но до операторов, использующих ее. При выходе из процедуры у статической переменной память не отбирается, а становится временно недоступной. Значение переменной сохраняется. При повторном обращении к процедуре им можно воспользоваться.

Private – объявляет переменную в разделе описаний (вне процедур модуля), она доступна для всех процедур и функций модуля.

Public – объявляет переменную в разделе описаний (вне процедур модуля) и делает их видимыми во всех модулях активного приложения.

При составлении имени переменной непосредственно в имени можно указать тип переменной, используя специальные символы обозначения типа (см. таб. Встроенные типы данных VBA). При этом оператор As уже не используется. Например: задания переменной Номер As Long и Номер& эквивалентны.

Рассмотрим пример объявления трех целочисленных переменных и одной строковой переменной.

Dim a As Integer, b As Integer, c%, s As String

Неявное объявление переменных

При неявном объявлении переменных могут не использоваться операторы объявления (DimPrivatePublicStatic). Прямо в нужном месте программы можно начать использовать переменную. Например, можно сразу указать оператор d = 5 (это может быть сделано в разделе описания модуля или в самой процедуре). При этом, переменная будет проинициализирована, но она будут восприниматься компьютером как нестатическая переменная типа Variant при объявлении ее внутри процедуры или как закрытая переменная типа Variant при объявлении ее в разделе описаний.

Например:

Dim str As String, var = 123.456

Инициализация по умолчанию

Для всех числовых типов 0

Для типа Boolean False

Для типа String “” (пустая строка)

Для типа Data 0:00:00

Для типа Variant Empty (инициализации не было)

Для типа Object Nothing (переменная ни на что не ссылается)