VBAでの条件付きコンパイル(#Const)について

Tech

VBAの#Constディレクティブは、コンパイル時に定数を定義するために使用されます。#Constディレクティブで定義された定数は、コンパイル時に値が決定され、コンパイル後には変更できなくなります。

#Constディレクティブは、以下のように使用します。

#Const 定数名 = 定数値

ここで、定数名は定義する定数の名前、定数値は定数の値です。

例えば、以下のように定数を定義することができます。

#Const PI = 3.14159265358979

この場合、PIという名前の定数が、値3.14159265358979で定義されます。#Constディレクティブで定義された定数は、他のコードで参照することができます。

なお、#Constディレクティブで定義された定数は、#Ifディレクティブと併用して、コンパイル時に実行されるコードを制御することもできます。例えば、以下のように条件分岐することができます。

#Const DEBUG = True

Sub Main()
    #If DEBUG Then
        Debug.Print "デバッグモード"
    #Else
        Debug.Print "通常モード"
    #End If
End Sub

この場合、DEBUGという名前の定数が定義されているかどうかで、実行されるコードが異なります。上記のコードでは、DEBUGTrueである場合には、デバッグモードというメッセージが出力されます。

ライセンス:本記事のテキスト/コードは特記なき限り CC BY 4.0 です。引用の際は出典URL(本ページ)を明記してください。
利用ポリシー もご参照ください。

コメント

タイトルとURLをコピーしました