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

Типизированные переменные

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

  • Типизированные переменные ускоряют выполнение кода программы;

  • Использование типизированных переменных может значительно сократить объем памяти, требуемой для выполнения программы;

  • Программный код с типизированными переменными легче читается и понимается;

  • В программах, использующих типизированные переменные, легче обнаружить некоторые ошибки программистов;

  • Не возникает проблем с датами.

Тип переменной объявляется в том же операторе, который используется для объявления самой переменной. Можно объявлять типизированную переменную либо при неявном объявлении, либо при явном - с помощью оператора Dim.

Для объявления переменной и ее типа с помощью оператора Dim необходимо добавить ключевое слово As перед именем переменной, а затем ввести имя типа данных для этой переменной (см. таблицу).

СИНТАКСИС:

Dim varname_1 [As type1] [, varname_2 [As type2]..]

Varname_N - любое допустимое имя переменной

Type_N - любое из имен типов данных VBA (см. таблицу).

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

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

СИНТАКСИС:

Dim varname As String * N

Varname - любое допустимое имя переменной

- целое число, указывающее длину строки

Область действия переменных

Любая переменная имеет свою область действия.

Термин область действия относится к области процедуры или модуля VBA, где данная переменная, процедура или другой идентификатор, являются доступными.

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

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

В первой строке, приведенного выше листинга, объявлена переменная А модульного типа. Однако в процедуре example_02 имеется свое объявление переменной А. VBA выбирает наиболее локальную переменную А, объявленную как переменная процедурного уровня.

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

Если вы хотите всегда использовать только явное объявление переменных, то для таких целей VBA предоставляет команду Option Explicit. При использовании Option Explicit VBA требует объявления всех переменных перед их использованием.