text = "This is a textline"
PlaceHolder = "text"
所以我想获得通过占位符返回的文本的值。但无论我尝试什么,它总是会返回文字字符串“text”。问题是我不知道我事先需要哪个变量。因此,PlaceHolder可以在脚本中包含任意数量的变量的名称。这让我知道我将需要哪个变量。但是,如果我只能将它用作文字字符串,那就没有用了。
我试过了:
% PlaceHolder
- 返回文字
%PlaceHolder%
- 返回文字
:= PlaceHolder
- 返回文字
解释我在做什么
我在GUI中有很多DropDownLists。除了一个,所有这些都是隐藏的。可见的那个将根据所做的选择显示其中一个。所以我无法知道哪个DropDownList会变得可见。但我确实需要DropDownList的值。
因此,第一个选择的值ALWAYS匹配变为可见的DropDownList的变量名。但是,它存储为文字字符串。所以即使我现在有我需要的变量的名称,我也无法访问它的值。希望这一切都有点意义。
答案 0 :(得分:1)
变量PlaceHolder包含值"text"
,但变量text
的名称不带引号。因此,请确保变量PlaceHolder
包含变量的确切名称或删除引号:
StringReplace, PlaceHolder2 , PlaceHolder , `" , , A
然后将带有百分号的变量分配给一个新变量:
Out := %PlaceHolder2%
Msgbox, %Out%
或者干脆做:
PlaceHolder := text ; note the absence of quotation marks
Msgbox, %Placeholder%
这与:
相同PlaceHolder = %text%
Msgbox, %Placeholder%