Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программирование VBA.pdf
Скачиваний:
374
Добавлен:
03.05.2015
Размер:
3.07 Mб
Скачать

19

В объектных моделях приложений Office наряду с массивами используются коллекции. Коллекции – это специальные объекты, которые предназначены для хранения наборов одинаковых элементов. Коллекции обычно удобнее, чем массивы; они изначально безразмерны и в них предусмотрен стандартный набор свойств и методов.

2.6. Пользовательские типы данных

VBA позволяет создавать структурные, так называемые пользовательские типы данных, аналогичные записям языка Pascal или языков PL/1 и COBOL. Например, если нужно обрабатывать сведения о результатах экзаменационной сессии, то можно создать пользовательский тип данных с названием Успеваемость.

Type Успеваемость ФИО As String * 20

№_Зач_кн As String * 8 Дисциплина As String * 20 Оценка As String * 20

End Type

Примечание1

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

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

Пример

Sub Пользоват_Тип()

Dim Студенты As Успеваемость Студенты.ФИО = InputBox("Введите ФИО") Студенты.№_Зач_кн = InputBox("№_Зач_кн") Студенты.Дисциплина = InputBox("Дисциплина") Студенты.Оценка = InputBox("Оценка")

MsgBox Студенты.ФИО & Студенты.№_Зач_кн & _ Студенты.Дисциплина & Студенты.Оценка

End Sub

Примечание2

В инструкции Dim переменную можно объявить с тем же именем, какое определено в пользовательском типе данных. В этом случае приведённый выше пример будет иметь вид:

Sub Пользоват_ТИП()

Dim Успеваемость As Успеваемость Успеваемость.ФИО = InputBox("Введите ФИО") Успеваемость.№_Зач_кн = InputBox("№_Зач_кн") Успеваемость.Дисциплина = InputBox("Дисциплина") Успеваемость.Оценка = InputBox("Оценка")

20

MsgBox Успеваемость.ФИО & Успеваемость.№_Зач_кн & _ Успеваемость.Дисциплина & Успеваемость.Оценка

End Sub

Как правило, пользовательский тип данных определяется для массивов, например, так:

Dim Студенты (1 to 40) As Успеваемость

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

Студенты(1).ФИО = InputBox("Введите ФИО") Студенты(1). №_Зач_кн = InputBox("Введите №_Зач_кн")

Студенты(1). Дисциплина = InputBox ("Введите Дисциплина") Студенты(1). Оценка= InputBox ("Введите Оценка")

2.7.Операции VBA

Впрограммах на VBA можно использовать стандартный набор операций над данными. Имеются три основных типа операций:

математические,

отношения,

логические.

Математические операции

Операнд!] + [Операнд2]

Сложение

[ Операнд!] -- [Операнд2]

Вычитание

- [Операнд]

Перемена знака

Операнд!] * [Операнд2]

Умножение

[Операнд!] / [Операнд2]

Деление

[Операнд1] \ [Операнд2]

Целочисленное деление

[Операнд1] Mod [Операнд2]

Остаток от деления по модулю

[Операнд1] ^ [Операнд2]

Возведение в степень

Операции отношения

 

 

[Операнд1] < [Операнд2]

 

Меньше

[Операнд1] > [Операнд2]

 

Больше

[Операнд1] <= [Операнд2]

 

Меньше или равно

[Операнд1] >= [Операнд2]

 

Больше или равно

[Операнд1] <> [Операнд2]

 

Не равно

[Операнд1] = [Операнд2]

 

Равно

[Операнд1] Is [Операнд2]

 

Сравнение двух операндов, содер-

 

 

жащих ссылки на объекты

[Операнд1] Like [Операнд2]

 

Сравнение двух строковых выраже-

 

 

ний