Enum ステートメント

列挙の型を宣言します。

構文

[ パブリック | Private ] Enumnamemembername [= constantexpression ] membername [= constantexpression ] . .End Enum

Enum ステートメントには、次の指定項目があります。

パーツ 説明
Public オプション。 Enum 型がプロジェクト全体で認識できることを指定します。 Enum 型は既定で Public です。
Private オプション。 Enum 型が、それが存在するモジュールの中でのみ認識されることを指定します。
name 必須です。 Enum 型の名前です。 name は、有効な Visual Basic 識別子である必要があり、Enum 型の変数またはパラメーターを宣言するときに型として指定されます。
membername 必須です。 有効な Visual Basic 識別子であり、Enum 型の構成要素がそれによって認識される名前を指定します。
constantexpression オプション。 要素の値です (Long として評価されます)。 constantexpression が指定されていない場合、割り当てられた値は 0 (最初のメンバー名の場合) か、直前のメンバー名の値より 1 大きい値です。

注釈

列挙変数は、 Enum 型で宣言された変数です。 変数とパラメーターの両方を Enum 型で宣言できます。 Enum 型の要素は、Enum ステートメント内の定数値に初期化されます。 割り当てられた値は 実行時 に変更できません。正と負の両方の数値を含めることができます。 例:

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

Enum ステートメントは、モジュール レベルでのみ表示できます。 Enum 型を定義した後、その型を返す変数、パラメーター、またはプロシージャを宣言するために使用できます。 モジュール名で Enum 型名を修飾することはできません。

クラス モジュール内のパブリック列挙型は、 クラスのメンバーではありません。ただし、これらはタイプ ライブラリに書き込まれます。 標準モジュールで定義されている列挙型は、タイプ ライブラリに書き込まれません。 同じ名前のパブリック列挙型は、同じ名前空間を共有するため、標準モジュールとクラス モジュールの両方で定義することはできません。 異なるタイプ ライブラリ内の 2 つの Enum 型の名前は同じですが、要素が異なる場合、型の変数への参照は、 参照の優先順位が高いタイプ ライブラリによって異なります。

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 のサポートおよびフィードバックを参照してください。