Оператор 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 и обратная связь.