我發現VBscript的SendKeys
不支持Unicode。它支持一些像A-65,但不包括像希伯來字母表中的Aleph(א)這樣的外來字母。 Prob超出支持範圍。可能是128+的十進制值,它給出了一個「?」,它只支持ASCII範圍。VBscript的SendKeys支持Unicode嗎?
我可以使用Windows XP在我的電腦上鍵入並看到希伯來字母。所以操作系統對角色的支持就在那裏並且設置好了。我的源代碼證明,因爲行
msgbox Chrw(1488)
顯示Aleph字符,我已經在記事本和MS Word中顯示它。
它看起來像它發送一個問號,它不承認的角色。我認爲MS Word或記事本,如果他們確實有問題顯示一個字符(例如,當字體不支持字符),他們會顯示一個框,而不是一個問號。無論如何,在記事本的情況下。所以它看起來像SendKeys
問題。有任何想法嗎?任何類型的解決方法?
Dim objShell
Set objShell = CreateObject("WScript.Shell")
objShell.Run "notepad" ''#can change to winword
Wscript.Sleep 2000
msgbox Chrw(1488) ''#aleph
objShell.SendKeys ("abc" & ChrW(1488) & "abc") ''#bang, it displays a ? instead of an aleph
WScript.Quit
你已經安裝了哪些鍵盤佈局,以及你的** Languange用於非Unicode程序**在區域和語言選項中設置? – Helen 2010-07-07 22:08:55
至於語言和佈局。語言英語英國與佈局英語英國。語言英語美國與佈局英語美國。語言希伯來語與佈局希伯來語。至於「非unicode程序的語言」,英語美國。我試過希伯來語。無論哪種方式,msgbox都會顯示msgbox chrw(1488)的字符Aleph。 (它總是)但是當設置「non-unicode程序的語言」(需要重啓)時,設置爲US,記事本顯示?爲sendkeys chrw(1488)。當設置爲希伯來語時,記事本不會爲sendkeys chrw(1488)顯示任何內容,因此仍然不會顯示sendkeys chrw(1488)的字符。 – barlop 2010-07-08 00:08:37
我編輯了你的文章來改善格式,希望你不介意。如果你確實介意,請隨時編輯回來。 – Helen 2010-07-08 08:35:18