ID : 112
#Define
機能
マクロ定義をします。
構文
#Define マクロ名 コード
指定項目
- マクロ名
- マクロ名を指定します。関数型マクロの場合は引数を"()"で囲みます。
- コード
- マクロ名を置換するコードを指定します。
解説
プログラム中のマクロ名をコードで置き換えます。関数型マクロの場合には、引数も含めて置き換えられます。
マクロ名とコードの間には、必ず1個以上のスペース文字を置かなければなりません。
マクロ名は命名規則に従って命名します。
マクロ名とコードを囲む ( ) との間に、スペース文字を置いてはいけません。
マクロ名は、64文字以内でなければなりません。
関連項目
注意事項
ダブルクォーテーション" "で囲まれた文字列の中のテキストは置き換えられません。
再帰的な置換は行われません。
#Define AA 5
#Define BB(x) 100*x + sin(x)
PrintDbg BB(AA) '完全にコンパイルされません。
上記の例のbb(aa)はプリプロセッサ工程で 100*aa + sin(aa) とコード生成されます。100*5 + sin(5) にはなりません。
#Define AA BB
#Define BB 100
PrintDbg AA '完全にコンパイルされません。
上記の例も PrintDbg AA は PrintDbg BB とコード生成されます。
用例
'!TITLE "マクロの定義"
' マクロ名で指定した文字列と計算結果を表示
Sub Sample_Define
' NAMEというマクロに"Desno Corporation"を割り当て
#Define NAME "Denso Corporation"
' mAREA(radius)をマクロとして宣言
#Define mAREA( radius ) PI * Pow( radius, 2 )
Dim aaa As String
Dim bbb As Double
' aaaに"Denso Corporation"を代入
aaa = NAME
' bbbに PI * (10の2乗) の計算結果を代入
bbb = mAREA( 10 )
' メッセージ出力ウィンドウに"Denso Corporation"を表示
PrintDbg aaa
' メッセージ出力ウィンドウに計算結果を表示
PrintDbg bbb
End Sub
ID : 112