MsgBoxでの変数展開
変数展開
レガシーモード - %変数名%
Name := "Taro"
MsgBox, My Name is %Name% ; => My Name is Taro
Expressionモード - % 変数名
Name := "Taro"
MsgBox, % Name ; (1) => Taro
MsgBox, % "My Name is " . Name ; (2) => My Name is Taro
MsgBox, % "My Name is " Name ; (3) => My Name is Taro
エスケープ文字 - `バックスラッシュ
Name := "Taro"
MsgBox, `%Name`% ; (1) => %Name%
MsgBox, 0, 1, Hi`, %Name%, 1.0 ; (2) => Hi, Taro
変数の再代入
Name0 := "Taro"
Name1 := Name0
MsgBox, %Name1% ; (1) Taro
Name2 = %Name0%
MsgBox, %Name2% ; (2) Taro
Name3 = Name0
MsgBox, %Name3% ; (3) Name0
Name4 := %Name0%
MsgBox, %Name4% ; (4)
Name5 := % Name0
MsgBox, %Name5% ; (5) Taro
結論として
FirstName := "Taro"
LastName := "Yamada"
FullName := FirstName . " " . LastName
MsgBox, % "My Name is " . FullName ; My Name is Taro Yamada
- 常に:=で代入して、代入時には%変数名%で展開しない
- MsgBoxを呼ぶときは% でExpressionモードを使う
- のが混乱が少ないのではと思う