以下变量名包含非法字符...但我不知道它可能是什么

The following variable name contains an illegal character... but I don't know what it could be

我的脚本有问题 运行。我这辈子都搞不清楚非法字符是什么。

我试过将字符串连接放在不同的行上,但我得到了同样的错误。我试过使用 OneDateTwoDate 而不是 Date_1Date_2,也无济于事。我已经更新了AHK,但没有解决。

我应该注意,我同时使用 MonthCalDateTime Gui 控件来获取这些日期,然后使用 FormatTime 格式化它们。我注意到的另一个可能提供线索的错误是,无论我在日期控件中选择什么日期,我都会得到 2017-Sep-01 作为输出。可能没有值来自控件,并且 FormatTime 函数正在使用今天的日期,因为它试图处理的变量为空/不存在。

除此之外,通常我喜欢在问题中更具描述性,但在这种情况下,我想我只能说:"Help?"

当您使用表达式赋值方法 := 时,您不应使用 %。相反,你应该写 Output := Output Date_1 "_to_" Date_2。当您将 % 与表达式赋值一起使用时,Autohotkey 会取消引用变量并尝试将 OtherDescription--2017... 视为 变量名 并且- 不是 Autohotkey 变量的合法字符。

下面的例子会更清楚:

astring := "some text"
output = a
Output := %Output%STRING
MsgBox % Output

MsgBox 将显示 "some text"。发生这种情况是因为 Autohotkey 将 %Output% 取消引用到 "a",然后为其分配 astring 变量的值(它连接 "a" 和 "STRING",然后查找 变量 称为 astring).