Самоучитель VBA

Тип данных, определенный пользователем


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

Синтаксис:

[Private | Public] Type ИмяПеременной ИмяЭлемента [([Индексы])] Аs тип [ИмяЭлемента [([Индексы])] As тип]

End Type

Аргументы:



Public

Используется телем типов, всех модулях для описания определяемых пользова-которые доступны для всех процедур во всех проектов

Private

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

ИмяПеременной

Имя типа, определяемого пользователем

ИмяЭлемента

Имя элемента, определяемого пользователем типа

Индексы

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

[Нижний То] Верхний [, [Нижний То] Верхний] . .

Тип

Тип данных элемента; поддерживаются типы: Byte, Boolean, Integer, Long, Currency, Single, Double, Date, String (для строк переменной длины), String* длина (для строк фиксированной длинны), Object, variant и другой, определяемый пользователем тип или объектный тип

В данном примере инструкция туре используется для определения типа данных (только на уровне модуля). При появлении в модуле класса инструкции туре должно предшествовать ключевое слово Private. '

' Тип, определенный пользователем

Туре Студент '

' Элементы типа данных

'

Фамилия As String * 20 Имя As String * 20

Отчество As String * 20 НомерЗачетки As Integer

Группа As String * 10 Курс As Long

ДатаРождения As Date

End Type

Sub ВводДанных()

' Описание переменной Экономист

'

Dim Экономист As Студент

' Присвоение значений элементам переменной Экономист

With Экономист

.НомерЗачетки = 12003

.Группа = "Менеджмент"

End With

End Sub

Можно создавать массив, содержащий элементы собственного типа. Например, следующий массив состоит из сведений о 20 студентах.

Dim СтудентЭкономист(1 to 20) As Студент

' Присваивает значения элементам первой компоненты массива

CтудентЭкономист(1). Фамилия = "Промокашкин"

CтудентЭкономист(1).

Имя = "Евстегней" СтудентЭкономист(1).

Отчество = "Поликарпович"



Содержание раздела