定数の使用

コードには、頻繁に発生する定数値が含まれている場合や、覚えにくい明確な意味を持たない特定の数値に依存する場合があります。 定数を使用すると、コードの読み取りと保守を容易にすることができます。 定数は、変更されない数値または文字列の代わりに意味のある名前です。 変数のように定数を変更したり、新しい値を割り当てたりすることはできません。

定数の種類

定数には次の 3 種類があります。

  • 組み込み定数 (システム定義定数) は、アプリケーションとコントロールによって提供されます。 Microsoft Access、Excel、Project、Word などの オブジェクト ライブラリを提供する他のアプリケーションには、オブジェクト、メソッド、プロパティで使用できる定数の一覧も用意されています。 個別のオブジェクト ライブラリに用意されている定数の一覧は、オブジェクト ブラウザーで入手できます。

    Visual Basic 定数は、Visual Basic for Applications タイプ ライブラリと Data Access Object (DAO) ライブラリに一覧表示されます。

    注:

    Visual Basic では、以前のバージョンの Visual Basic または Visual Basic for Applications で作成されたアプリケーションの定数が引き続き認識されます。 定数は 、オブジェクト ブラウザーに表示されているものにアップグレードできます。 オブジェクト ブラウザーに示されている定数をアプリケーションで宣言する必要はありません。

  • シンボリック定数またはユーザー定義定数は、 Const ステートメントを使用して宣言されます。

  • 条件付きコンパイラ定数 は、 #Const ステートメント (ディレクティブ) を使用して宣言されます。

以前のバージョンの Visual Basic では、定数名は、通常、すべて大文字で表され、アンダースコアが含まれていました。 例:

TILE_HORIZONTAL 

同じ名前の定数が複数のオブジェクト ライブラリに存在し、異なる値が割り当てられている可能性がある場合に混乱を避けるために、組み込み定数が修飾されるようになりました。 このような場合に混乱しないように、組み込み定数の名前は、現在、次の 2 つによって修飾されています。

  • プレフィックス
  • ライブラリ参照

プレフィックスによる定数の修飾

すべてのオブジェクトに用意されている組み込み定数は、大文字と小文字が混在した文字列で、定数を定義するオブジェクト ライブラリを表す 2 文字のプレフィックスが付いています。 たとえば、Visual Basic for Applications オブジェクト ライブラリの定数のプレフィックスは "vb"、Microsoft Excel オブジェクト ライブラリのプレフィックスは "xl" です。 次の例は、カスタム コントロールのプレフィックスが、タイプ ライブラリによってどのように異なるかを示しています。

  • vbTileHorizontal
  • xlDialogBorder

ライブラリ参照による定数の修飾

次の構文を使用して、定数への参照を修飾することもできます。

[ libname.] [ modulename.] constname

定数を修飾する構文には、次の指定項目があります。

パーツ 説明
libname オプション。 定数を定義するタイプ ライブラリの名前。 ほとんどのカスタム コントロール (Macintosh では使用できません) では、これはコントロールの クラス 名でもあります。 コントロールのクラス名を覚えていない場合は、ツールボックス内のコントロールの上にマウス ポインターを置きます。 クラス名が ツールヒントに表示されます。
modulename オプション。 定数を定義するタイプ ライブラリ内のモジュールの名前です。 モジュールの名前を見つけるには、オブジェクト ブラウザーを使用します。
constname タイプ ライブライの定数に対して定義された名前です。

例:

Threed.LeftJustify 

関連項目

サポートとフィードバック

Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。