我正在尝试使用
SendKeys
发送一些特殊字符,例如 é
。
如果我使用
set mySendKeys = CreateObject("WScript.shell")
mySendKeys.SendKeys "é"
肯定不行...
我想用
asc("é")
解释这个字符,得到的结果是chr(233)
,然后mySendKeys.SendKeys chr(233)
听起来不错?...但它会产生错误
Invalid procedure call or argument
我发现了类似的问题这里
或者有没有其他方法可以模拟键盘输入这样的特殊字符?
您应该使用
Chr()
函数发送é
的ANSI字符代码,而不是:
set ws = CreateObject("WScript.shell")
ws.SendKeys chr(233)
这是完整的代码示例:
Dim i,x,a,ws
i = InputBox("Entrer un caractère ou une phrase pour obtenir son Code Unicode Correspondant !","test","éè@!%")
If i <> "" Then
For x = 1 To Len(i)
If x <> Len(i) Then
a = a & "ChrW(" & AscW(Mid(i,x,1)) & ")" & "&"
Else
a = a & "ChrW(" & AscW(Mid(i,x,1)) & ")"
End if
Next
Inputbox "Le Code Unicode Correspondant pour " & qq(i) & " est:",,a
End If
wscript.sleep 5000
set ws = CreateObject("WScript.shell")
ws.SendKeys qq(i)
'******************************************************************
Function qq(strIn)
qq = Chr(34) & strIn & Chr(34)
End Function
'******************************************************************