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

8.2Перечисляемый тип

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

[Private | Public] Enum имяТипа

имяЗначения [= Константа]

имяЗначения [= Константа]

End Enum

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

Например:

Определим тип Неделя. Элементами данного типа будут являться названия дней недели.

Private Enum Неделя

Понедельник

Вторник

Среда

Четверг

Пятница

Суббота

Воскресенье

End Enum

Теперь в модуле определимо переменную День с типом Неделя.

Dim День As Неделя

День = Суббота

8.3Запись

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

[Private | Public] Type имяТипа

имяПоля [(<размер>)] As типДанных

[имяПоля [(<размер>)] As типДанных]

End Type

Запись определяется либо на уровне модуля, либо на уровне приложения. Поля могут быть простых типов, массивы или уже определенные перечисляемые типы и записи.

Например:

Опишем следующее дерево

Книга

(тип запись)

НазваниеКниги

(тип String)

НазванияГлавКниги

(динамический массив типа String)

Автор

(запись типа ДанныеЧеловека)

Имя

(тип String)

ДеньРождения

(тип Date)

Public Type ДанныеЧеловека

Имя As String

ДеньРождения As Date

End Type

Public Type Книга

НазваниеКниги As String

НазванияГлавКниги () As String

Автор As ДанныеЧеловека

End Type

Sub Пример ()

Dim Библиотека (1 To 12) As Книга

Библиотека(1).Автор.Имя = «Федор Новиков»

Библиотека(1).Автор.ДеньРождения = #10/10/1951#

Библиотека(1).НазваниеКниги = «VBA и разработка приложений»

ReDim Библиотека(1).НазванияГлавКниги (0 To 1)

Библиотека(1).НазванияГлавКниги (0) = «Введение»

Библиотека(1).НазванияГлавКниги (1) = «Типы данных»

MsgBox (Библиотека(1).Автор.Имя) ‘Вывод на экран имени автора книги

End Sub

9.Операторы

Любая программа представляет собой последовательность операторов. В строчке друг от друга операторы отделяются знаком двоеточие (:).

9.1Операторы присваивания

Let (прямое присваивание)

LSet (левое присваивание)

RSet (правое присваивание)

Оператор Let

[Let] имяПеременной = <выражение>

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

Например:

Dim Возраст As Integer, Строка As String

Возраст = 32: Строка = «Жизнь прекрасна! » + «Все будет хорошо!»