Поделиться через


Оператор Enum

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

Синтаксис

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

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

Part Описание
Public Необязательный параметр. Устанавливает, что тип Enum является видимым во всем проекте. По умолчанию типы Enum — это Public.
Private Необязательный параметр. Устанавливает, что тип Enum является видимым только в модуле, в котором он находится.
name Обязательно. Имя типа Enum. Элемент name должен быть допустимым идентификатором Visual Basic, причем он задается как тип при объявлении переменных или параметров типа Enum.
имя_члена Обязательно. Допустимый идентификатор 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 и обратная связь.