Оператор Enum

Объявляет тип перечисления.

Синтаксис

[ Общедоступная | Приватный ] Перечислениеимени-члена [= constantexpression ] membername [= constantexpression] . .Перечисление конца

Оператор Enum состоит из следующих частей:

Part Описание
Public Необязательный параметр. Устанавливает, что тип Enum является видимым во всем проекте. По умолчанию типы Enum — это Public.
Private Необязательный параметр. Устанавливает, что тип Enum является видимым только в модуле, в котором он находится.
name Обязательно. Имя типа Enum. Элемент name должен быть допустимым идентификатором Visual Basic, причем он задается как тип при объявлении переменных или параметров типа Enum.
Membername Обязательно. Допустимый идентификатор Visual Basic, задающий имя, под которым будет известен составляющий элемент типа Enum.
выражение константы Необязательный параметр. Значение элемента (оценивается в виде переменной типа Long). Если константное выражение не указано, присвоенное значение равно нулю (если это первое имя члена ), или 1 больше, чем значение непосредственно предшествующего имени члена.

Замечания

Переменные перечисления — это переменные, объявляемые с типом Enum. С типом Enum могут объявляться как переменные, так и параметры. Элементы типа Enum инициализируются с постоянными значениями в операторе Enum. Присвоенные значения не могут быть изменены на этапе выполнения программы и могут содержать как положительные, так и отрицательные числа. Например:

Enum SecurityLevel 
 IllegalEntry = -1 
 SecurityLevel1 = 0 
 SecurityLevel2 = 1 
End Enum 

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

Типы Public Enum в модуле класса не являются элементами класса; тем не менее, они записываются в библиотеку типов. Типы Enum, определенные в стандартных модулях, не записываются в библиотеки типов. Общедоступные типы перечислений с одинаковым именем нельзя определить как в стандартных модулях, так и в модулях класса, так как они используют одно и то же пространство имен. Когда два типа Enum в разных библиотеках типов имеют одно имя, но разные элементы, ссылка на переменную типа зависит от того, какая библиотека типов имеет более высокий приоритет в References.

Не допускается использовать тип Enum как целевой в блоке With.

Пример

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

Public Enum InterfaceColors 
 icMistyRose = &HE1E4FF& 
 icSlateGray = &H908070& 
 icDodgerBlue = &HFF901E& 
 icDeepSkyBlue = &HFFBF00& 
 icSpringGreen = &H7FFF00& 
 icForestGreen = &H228B22& 
 icGoldenrod = &H20A5DA& 
 icFirebrick = &H2222B2& 
End Enum

См. также

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.