1

SendKeysを使用して「(」または「)」文字を送信しようとすると、次のエラーが発生します。vbscriptで。

Invalid procedure call or argument

私のスクリプト:

Set WshShell = WScript.CreateObject("WScript.Shell")
WScript.Sleep 100
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile("C:\Documents and Settings\Administrator\Desktop\readme.txt", 1)
Wshshell.SendKeys "!@#$%^&*()"
Do Until objFile.AtEndOfStream
    strCharacters = objFile.Read(1)

    WshShell.SendKeys strCharacters
Loop

ループの前に送信しようとすると「(」と「)」は送信されませんが、エラーは表示されず、もう少し先まで続き、別の「(」文字が検出されてエラーで停止します。

4

1 に答える 1

4

括弧は特殊文字と見なされ、中括弧で囲む必要があります。詳細については、このリンクを参照してください。

Set WshShell = WScript.CreateObject("WScript.Shell")
WScript.Sleep 100
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile("C:\Documents and Settings\Administrator\Desktop\readme.txt", 1)
Wshshell.SendKeys "!@#$%^&*{(}{)}"
Do Until objFile.AtEndOfStream
    strCharacters = objFile.Read(1)

    WshShell.SendKeys strCharacters
Loop
于 2012-04-10T14:48:18.340 に答える