マクロ引数を、文字列に変換する、プリプロセッサ演算子
構文:
#macro_argument
記述:
この演算子は、macro_argument を、文字列の値が、引数の名前である文字列に、変換します。
この代替は、コンパイルに先立って、マクロ展開の間に、行われます。
-
注意:
この特徴のため、マクロで、ファイルを扱う命令を使うとき、注意が必要です。
ファイルを扱う命令文は、"#filenum" パラメータを持つ、潜在的な曖昧さがあります。このため、
filenum が、マクロ・パラメータの1つであれば、# サインとファイル名を切り離すために、
filenum 表現を、丸括弧で囲む必要が有ります。(例えば、"#(filenum)")
さもないと、 filenum は、マクロで、文字列化されます。
例:
#define SEE(x) Print #x ;" = ";
x
Dim variable As Integer, another_one As Integer
variable=1
another_one=2
SEE
(variable)
SEE
(another_one)
Sleep
出力:
variable = 1
another_one = 2
QBからの違い:
参照: