Enum ステートメント

列挙の型を宣言します。

構文

[パブリック | Private ]列挙型の名前
membername [= constantexpression ]
membername [= constantexpression ]
. . .
End Enum


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

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

注釈

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

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

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

クラス モジュール内 のパブリック 列挙型は 、クラスのメンバーではありません。ただし、それらはタイプ ライブラリに 書き込まれます標準 モジュールで定義 された列挙型 は、タイプ ライブラリには書き込みされません。 同じ名前 の Public Enum 型は、同じネーム スペースを共有する標準モジュールとクラス モジュールの両方で定義できません。 異なる タイプ ライブラリ内の 2 つの 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 のサポートおよびフィードバックを参照してください。