Autohotkey 如何提取存储在另一个变量中的变量的值?

Autohotkey 如何提取存储在另一个变量中的变量的值?,autohotkey,Autohotkey,所以我想得到通过占位符返回的文本值。但无论我尝试什么,它都会返回文本字符串“text”。问题是,我不知道事先需要哪个变量。所以占位符可以有脚本中任意数量变量的名称。这让我知道我需要哪个变量。但是,如果我只能将它用作文本字符串,那么它就没有多大帮助 我试过: %PlaceHolder-返回文本 %PlaceHolder%-返回文本 :=占位符-返回文本 解释我在做什么 我在GUI中有很多下拉列表。除了一个,所有的都隐藏起来了。可见的一个将根据所做的选择显示另一个。所以我无法知道哪个DropDown

所以我想得到通过占位符返回的文本值。但无论我尝试什么,它都会返回文本字符串“text”。问题是,我不知道事先需要哪个变量。所以占位符可以有脚本中任意数量变量的名称。这让我知道我需要哪个变量。但是,如果我只能将它用作文本字符串,那么它就没有多大帮助

我试过:

%PlaceHolder
-返回文本
%PlaceHolder%
-返回文本
:=占位符
-返回文本

解释我在做什么
我在GUI中有很多下拉列表。除了一个,所有的都隐藏起来了。可见的一个将根据所做的选择显示另一个。所以我无法知道哪个DropDownList会变得可见。但我需要那个下拉列表的值


因此,第一个选择的值始终与可见的DropDownList的变量名匹配。但是,它存储为文本字符串。因此,即使我现在有了所需变量的名称,我也无法访问它的值。希望这一切有点道理。

变量占位符包含值
“text”
,但变量
text
的名称没有引号。因此,请确保变量
占位符
包含变量的确切名称或删除引号:

text = "This is a textline"
PlaceHolder = "text"
然后,将这个用百分号括起来的变量分配给一个新变量:

StringReplace, PlaceHolder2 , PlaceHolder , `" , , A
或者干脆做:

Out := %PlaceHolder2%
Msgbox, %Out%
这与:

PlaceHolder := text ; note the absence of quotation marks
Msgbox, %Placeholder%

对不起,我想我应该说得更清楚些。引号不在那里。我把它们放在这里只是为了显示它是一个文本字符串。第二种解决方案对我不起作用,因为我不知道占位符中会出现哪个变量名。所以我不能硬编码。让我编辑我的问题,让它更清楚地说明我在做什么。@icecub在这种情况下,您将从文本中提取可能代表变量的每个单词,并进行我所展示的替换。.我的答案向您展示了如何打印存储为文字字符串的变量值<代码>“text”
是一个字符串,请进行替换以删除
,然后打印变量。@2501谢谢。我正在做这件事,看看能不能让它工作。ofc会尽快接受你的回答吗:)@2501好吧,我还在绞尽脑汁,但你的魔法奏效了。非常感谢!:)
PlaceHolder = %text%
Msgbox, %Placeholder%