我在运行脚本时遇到问题。我不能为我的生活弄清楚这个非法角色是什么。
我已经尝试将字符串连接放在不同的行上,我得到了同样的错误。我尝试过使用OneDate
和TwoDate
代替Date_1
和Date_2
,但也无济于事。我更新了AHK,但没有解决它。
我应该注意,我使用MonthCal
和DateTime
Gui
控件来获取这些日期,然后使用FormatTime
格式化它们。我注意到的另一个可能提供线索的错误是,无论我在日期控件中选择哪个日期,我都会得到2017-Sep-01
作为输出。可能没有来自控件的值,并且FormatTime函数正在使用今天的日期,因为它尝试处理的变量是空白/不存在。
除了一般情况,我喜欢在我的问题中更具描述性,但在这种情况下,我认为我只能说:"帮助?"
答案 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
)。