Описание и использование переменных
Тема 2. Описание и использование переменных, констант и массивов
План
2.1. Описание и использование переменных
2.2. Описание и использование массивов
2.3. Описание и использование констант
2.4. Использование префиксов типов данных в именах переменных
VBA не требует явного описания переменных перед их использованием. Переменные, которые сразу используются в программе без предварительного описания, называются неявно описанными. Неявно описанным переменным присваивается тип данных Variant. Однако рекомендуется явно описывать все переменные, так как это способствует увеличению скорости выполнения программы и упрощает ее отладку. Для описания переменных в VBA используются операторы Dim, Public, Private и Static.
Синтаксис:
Dim | Public | Private | Static имя_переменной _
[([ индексы ])][As тип ] [,...]
Параметр имя_переменной – имя описываемой переменной. Необязательные скобки и параметр индексы используются для описания массивов. Дополнительный параметр As тип позволяет назначить переменной тип данных. Если необходимо явно задать тип, то это надо сделать для каждой переменной списка.
|
|
Область видимости и время жизни переменной определяется тем, где и как была описана переменная:
– Личная переменная уровня процедуры описывается с помощью инструкции Dim, размещенной в процедуре. Такая переменная сохраняет свое значение только при выполнении процедуры, а при повторном запуске процедуры ее необходимо инициализировать заново.
– Переменная уровня процедуры, описанная с помощью инструкции Static, также доступна только в той процедуре, где она описана. Однако при выходе из процедуры ее значение сохраняется.
– Личная переменная уровня модуля описывается с помощью инструкции Dim или
Private, размещенной в разделе описаний модуля.
– Общая переменная, доступная во всех модулях проекта, описывается с помощью инструкции Public в разделе описаний модуля.
Для того чтобы VBA требовал явного описания каждой используемой переменной, в раздел описаний модуля необходимо включить инструкцию Option Explicit.
Пример:
Dim Value1 As String
Dim Value1 As String, Value2 As Integer
Dim Value1, Value2, Value3 As Integer
Описание массива производится с помощью тех же операторов и подчиняется тем же правилам, что и описание обычной переменной.
Пример:
Dim strNames(10) As String
данная инструкция описывает одномерный массив с именем strNames, состоящий из 11 элементов (с 0 по 10); допустимые данные: строки переменной длины типа String.
В VBA можно создавать и многомерные массивы.
Пример:
Dim intNames(9, 14) As Integer
данная инструкция описывает двумерный массив с именем intNames, состоящий из
150 элементов, расположенных в 10 строках и 15 столбцах; допустимые данные: целые числа типа Integer.
|
|
Dim intNames(1 To 9, 1 To 14) As Integer
данная инструкция описывает двумерный массив с именем intNames, состоящий из
126 элементов, расположенных в 9 строках и 14 столбцах; допустимые данные: целые числа типа Integer.
Для изменения используемой по умолчанию нижней границы индексов используется инструкция Option Base, которая размещается в разделе описаний модуля:
Синтаксис:
Option Base {0 | 1}
Пример:
Option Base 1
Dim strNames(10) As String
данная инструкция описывает одномерный массив с именем strNames, состоящий из 10 элементов (с 1 по 10); допустимые данные: строки переменной длины типа String.