Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
КР_методичка.doc
Скачиваний:
1
Добавлен:
01.03.2025
Размер:
606.21 Кб
Скачать

Статические и динамические массивы.

Обычно число элементов указывается при его описании. Описание сообщает VBA, какая величина у каждой из размерностей массива. После того как массив описан VBA выделяет под все его элементы нужное количество памяти. Для массива на рис.1 ее надо выделить столько, чтобы помещалось 10 чисел типа Double, для массива на рис. 2 нужно память под 20 таких чисел.

VBA резервируют память под элементы массива на все время существования его переменной. Такого рода массивы называются статическими, так как число элементов не меняется.

Выбор размера массивы может вызвать значительные трудности, когда неизвестно количество данных, которые будут в нем храниться, или когда это число может сильно меняться. Если для этого иногда требуется 100 значений, а иногда — только 10, то место для 90 значений тратиться впустую (разница между наибольшим и наименьшим количеством элементов). Для такого рода массивов в VBA предусмотрен особый тип массивов, называемых динамическими. Своему названию они обязаны тому, что в них можно менять число элементов по ходу выполнения программы.

Описание массивов

Вам уже известна инструкция Dim, применяемая для описания переменных. Эта же инструкция используется для описания массивов. Фактически слово Dim является сокращением от английского Dimension — размерность.

При описании массива с помощью инструкции Dim используется следующий синтаксис.

Dim VarName ([Subscripts]) [As Type]

VarName представляет любое имя массива, соотвествующее стнадратным правилам VBA. Subscripts представляет собой размернгость (размерности) массива. Для одномерного массива в Subscripts описывается одна размерность; для двумерного — две размерности (выражения для каждой отделено запятой) и так далее, до того количества размерностей которое вам нужно.

Выражение Subscripts имеет такой синтаксис:

[lower To] upper[,[[lower To] upper]…

Переменная Lower указывает на нижнюю границу индекса массива, а upper — на верхнюю. Обратите внимание, что в выражении верхняя граница обязательна, а нижняя нет. Если будет указана только верхняя граница, то VBA будет нумеровать элементы массива от 0 до значения upper.

Если в выражении Subscripts будут находиться lower to, то это будет значительно облегчать понимание программ и находить в них ошибки, что сделает программы более понятными и более надежными. Использование lower To также дает возможность указать начальное значение индекса, которое отличается и от 0. Например, если есть необходимость создать массив с элементами, пронумерованными от 5 до 10 или от -5 до 0, от такая возможность существует.

Как и в стандартных переменных, тип данных можно описать и для массивов. Для этого в описание массива надо включить такое выражение как As Type. Тогда у каждого элемента массива будет указанный тип данных. Type представляет любой из возможных в VBA тип данных: Currency, Double, String и т.д. Если type будет пропущен, то у всех элементов массива будет тип Variant. При инициализации элементы числовых массивов элементы получают значение 0, а в строковых — значение пустой строки.