我发现 VBscriptSendKeys
不支持 Unicode。它支持 A-65 之类的一些字母,但不支持希伯来字母表中的字母 Aleph (א) 等外来字母。超出其支持范围的概率。可能是 128+ 的十进制值,它给出一个“?”,它只支持 ASCII 范围。
我可以使用 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