2017-09-02 306 views
-1

我在運行腳本時遇到問題。我不能爲了我的生活找出非法角色是什麼。以下變量名稱包含非法字符......但我不知道它可能是什麼

我已經嘗試把字符串連接放在單獨的行上,並且我得到相同的錯誤。我曾嘗試使用OneDateTwoDate而不是Date_1Date_2,也無濟於事。我更新了AHK,但沒有解決問題。

我要指出,我同時使用MonthCalDateTimeGui控制來獲得這些日期,然後用FormatTime格式化他們。我注意到的另一個錯誤,可能會提供一個線索,無論我在日期控件中選擇哪個日期,我都會得到2017-Sep-01作爲輸出。可能沒有任何值來自控件,並且FormatTime函數正在使用今天的日期,因爲它嘗試處理的變量是空白/不存在的。

除了以外,我通常喜歡在我的問題中更具描述性,但在這種情況下,我想我只能說:「幫助?」

enter image description here enter image description here

回答

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變量)。

+0

謝謝:)。令人困惑的是'輸出:=%輸出%STRING'實際上起作用(並且IMO不那麼冗長),這似乎並沒有真正考慮在文檔中,因爲你應該使用(我猜)* *表達式或傳統的語法,不要像它們那樣混合在一起,儘管我發現這個功能一直保持在向後兼容的狀態。 https://autohotkey.com/docs/Variables.htm#Variables。糾正我,如果我錯了/缺少的東西? – NotAnAmbiTurner

+2

@NotAnAmbiTurner如果通過工作,你的意思是連接然後否,它不起作用。如果通過作品你的意思是它做了什麼,那麼是的,它會做一些事情。我給答案增加了一個例子,我希望現在一切都會清楚。 – Oleg

相關問題