我在运行脚本时遇到问题。我终究无法弄清楚非法字符是什么。
我试过将字符串连接放在不同的行上,但我得到了同样的错误。我曾尝试使用 OneDate
和 TwoDate
而不是 Date_1
和 Date_2
,但也无济于事。我更新了 AHK,但没有解决问题。
我应该注意,我同时使用 MonthCal
和 DateTime
Gui
控件来获取这些日期,然后使用 FormatTime 格式化它们
。我注意到的另一个可能提供线索的错误是,无论我在日期控件中选择什么日期,我都会得到 2017-Sep-01
作为输出。可能没有值来自控件,并且 FormatTime 函数正在使用今天的日期,因为它试图处理的变量为空/不存在。
除此之外,通常我喜欢在问题中更具描述性,但在这种情况下,我想我只能说:“帮忙?”
最佳答案
当你使用表达式赋值方法:=
时,你不应该使用%
。相反,您应该编写 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
的变量。
关于variables - 以下变量名包含非法字符...但我不知道它可能是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46009424/