Excel. Трюки и эффекты - страница 21

Шрифт
Интервал


Описание структур

Для описания структуры в программе на VBA в блок деклараций модуля необходимо поместить следующую конструкцию:

[Public | Private] Type Имя_структуры

Поле1

Поле2

ПолеN

End Type

Ключевые слова Public и Private задают область видимости структуры (по умолчанию используется Public):

• Publiс – применяется для описания структуры, которую можно использовать (объявлять переменные этого типа) во всех модулях проекта; недопустимо в модулях класса;

• Private – применяется для описания структуры, которую можно использовать только в том модуле, где эта структура описана.

После ключевого слова Туре следует имя описываемой структуры. Внутри блока Type-End Туре помещаются объявления переменных-членов структуры. Эти объявления аналогичны объявлениям обычных переменных и отличаются только отсутствием в начале ключевых слов Dim, Static, Private или Public и тем, что в одной строке можно объявлять только одну переменную.

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

Type ПроектИнформация

Название As String

Срок_завершения As Date

End Type

Type Сотрудник

Имя As String

Фамилия As String

Адрес As String

Телефон As String

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

Проект As ПроектИнформация

End Type

Далее на этом примере рассмотрим особенности работы со структурами в программах на VBA.

Объявление переменных, содержащих структуры

Объявления переменных, содержащих структуры, выглядят точно так же, как объявления переменных другого типа. Ниже приведен пример объявления одной переменной, содержащей структуру Сотрудник:

Dim worker As Сотрудник

VBA позволяет создавать массивы любых типов данных, в том числе и структур:

Dim workers (15) As Сотрудник

В данном случае будет создан массив из 15 структур типа Сотрудник.

Примечание

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

Доступ к полям структур

Для доступа к содержимому полей структуры необходимо использовать символ «.» (точка). Ниже приведен пример получения значений полей с именем и телефоном сотрудника: