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

时间:2017-09-02 00:29:50

标签: variables autohotkey illegal-characters

我在运行脚本时遇到问题。我不能为我的生活弄清楚这个非法角色是什么。

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

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

除了一般情况,我喜欢在我的问题中更具描述性,但在这种情况下,我认为我只能说:"帮助?"

enter image description here enter image description here

1 个答案:

答案 0 :(得分:3)

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

以下示例将有助于使其更加清晰:

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

MsgBox会显示“某些文字”。这是因为Autohotkey将%Output%取消引用为“a”,然后为其分配astring变量的值(它连接“a”和“STRING”,然后查找变量astring)。