Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Макросы.doc
Скачиваний:
28
Добавлен:
21.11.2018
Размер:
16.91 Mб
Скачать

Соглашения об именах переменных

В 3-м часе "Работа с элементами управления" вы познакомились с соглашениями, применяемыми к именам элементов управления. Многие разработчики придерживаются аналогичных соглашений для имен переменных. В табл. 4.2 представлены рекомендуемые префиксы для имен переменных.

Таблица 4.2. Префиксы для имен переменных

Тип данных

Короткий префикс

Длинный префикс

Array (массив)

а

ary

Boolean (булевый, логический)

f

bin

Byte (байт)

b

bit

Currency (денежный)

с

cur

Date/Time (дата/время)

dt

dtm или dat

Double (двойной точности)

d

dbl

Integer (целое)

i

int

Long (длинное целое)

l

lng

Object (объект)

о

obj

Single (одинарной точности)

 

sng

String (строковый)

s

str

Variant (универсальный)

v

var

Листинг 4.3 показывает примеры объявления переменных различных типов. Обратите внимание на объявление строковых переменных - если вам известно максимальное число символов в строке, то это число можно указать в объявлении переменной.

В листинге 4.3 присутствуют строки, которые начинаются с одинарной кавычки ('). Это строки комментариев, которые используются для пояснения кода процедур. При выполнении процедур комментарии игнорируются.

Листинг 4.3. Объявления переменных

1: 'Следующие строки объявляют переменные

2: Dim StudentID

3: Dim iNumberOfStudents as Integer

4: Dim dTestDate as Date

5: 'Далее объявляется строковая переменная произвольной длины

6: Dim sLastName as String

7: 'Следующая строка объявляет строковую переменную

8: 'фиксированной длины в 2 символа

9: Dim sState as String * 2

Вы видите в этом листинге имена переменных различных типов. Большинство имен имеет префикс, записанный в нижнем регистре. Само имя переменной может состоять из букв как в верхнем, так и в нижнем регистрах.

Массивы

Если вы работали с другими языками программирования, то, вероятно, знакомы с массивами. Массив - это совокупность переменных, имеющих одинаковый тип данных и объединенных под общим именем. Элементы массива идентифицируются порядковым номером. Синтаксис объявления массива следующий:

Dim имя_массивa(n) As тип

где n - количество элементов в массиве

Например, если вы хотите создать массив, содержащий имена 10-ти студентов, используйте следующий оператор:

Dim sStudents(9) As String

Отметьте, что в скобке стоит число 9, а не 10. Это потому, что первый порядковый номер в перечислении элементов массива по умолчанию равен 0. Массивы эффективно применять при работе с однотипной информацией. Предположим, вам надо обработать 15 тестовых оценок. Для этого можно создать 15 переменных с помощью 15 операторов Dim. Но можно создать массив, содержащий все тестовые оценки, и использовать при этом только один оператор Dim:

Dim iTestScores(14) As Integer

В основном вы будете использовать одномерные массивы, подобные приведенным выше, но VBA поддерживает и многомерные массивы. Двумерный массив, например, по своей структуре напоминает обычную таблицу. Чтобы создать двумерный массив-таблицу размером 4×4, примените следующий оператор:

Dim iTable(3, 3) As Integer

Существует возможность при объявлении массива не указывать его размер. Это позволяет задать размер массива после начала выполнения программы. Например, ваше приложение позволяет пользователю создавать собственные таблицы, предлагая ввести количество столбцов и строк для новой таблицы. Применив динамически изменяемый массив, вы не только создадите такую таблицу, но и позволите пользователю добавлять или удалять строки и столбцы в этой таблице в процессе выполнения приложения. Если при объявлении массива не указаны его размеры, то такой массив называется динамическим. Синтаксис объявления динамического массива имеет следующий вид:

Dim имя_массива() As тип

Для задания размера динамического массива во время выполнения приложения используется оператор ReDim:

ReDim имя_массива(размер)

Аргумент размер задает новый размер массива. Для того чтобы не потерять текущее содержимое массива при задании его нового размера, в операторе ReDim используется ключевое слово Preserve:

ReDim Preserve имя_массива(размер)