Const ステートメント
リテラル値の代わりに使用する定数を宣言します。
構文
[ パブリック | Private ] Constconstname [ Astype ] =expression
Const ステートメントの構文には、次の指定項目があります。
指定項目 | 説明 |
---|---|
Public | 省略可能。 すべてのモジュール内のすべてのプロシージャで使用できる定数を宣言するためにモジュール レベルで使用されるキーワード。 プロシージャ内では使用できません。 |
Private | 省略可能。 宣言が行われるモジュール内でのみ使用できる定数を宣言するために、モジュール レベルで使用されるキーワード。 プロシージャ内では使用できません。 |
constname | 必須です。 定数の名前。は、標準 変数 の名前付け規則に従います。 |
type | 省略可能。 定数のデータ型。は、Byte、Boolean、Integer、Long、Currency、Single、Double、Decimal (現在サポートされていません)、Date、String、Variant のいずれかです。 宣言する定数ごとに個別の As型 句を使用します。 |
expression | 必須です。 リテラル値、その他の定数、または、すべての算術演算子や論理演算子 (Is を除く) の任意の組み合わせを指定します。 |
解説
既定では、定数はプライベートです。 プロシージャ内では、定数は常にプライベートであり、その参照可能範囲は変更できません。 標準モジュールでは、パブリック キーワード (keyword)を使用して、モジュール レベルの定数の既定の可視性を変更できます。 ただし、クラス モジュールでは、定数はプライベートにのみ設定でき、パブリック キーワード (keyword)を使用して可視性を変更することはできません。
複数の定数宣言を 1 つの行に結合するには、定数宣言をコンマで区切ります。 このようにして定数宣言を結合した場合、Public または Private キーワードを使用すると、すべての定数宣言に適用されます。
定数に代入する式の中で、変数、ユーザー定義関数、または Visual Basic の組み込み関数 (Chr など) を使用することはできません。
注:
定数を使用すると、プログラムがわかりやすく、修正も容易になります。 変数とは異なり、定数では、プログラムの実行中に値が誤って変更されることはありません。
As型を使用して定数型を明示的に宣言しない場合、定数には式に最も適したデータ型があります。
Sub、Function、または Property プロシージャで宣言された定数は、そのプロシージャに対してローカルです。 プロシージャの外で宣言された定数は、宣言されたモジュール内のどこからでも定義できます。 式を使用できる任意の場所で定数を使用します。
例
次の例では、Const ステートメントを使用して、リテラル値の代わりに使用する定数を宣言します。 Public 定数は、クラス モジュールではなく標準モジュールの General セクションで宣言されます。 Private 定数は、あらゆる種類のモジュールの General セクションで宣言されます。
' Constants are Private by default.
Const MyVar = 459
' Declare Public constant.
Public Const MyString = "HELP"
' Declare Private Integer constant.
Private Const MyInt As Integer = 5
' Declare multiple constants on same line.
Const MyStr = "Hello", MyDouble As Double = 3.4567
関連項目
サポートとフィードバック
Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。