Вопрос по vbscript – Ошибка при отправке (символ с sendkeys в vbscript

0

Я получаю следующую ошибку, когда пытаюсь отправить, чтобы отправить "(" или ")" характер с помощью SendKeys. В моем VBScript.

<code>Invalid procedure call or argument
</code>

Мой сценарий:

<code>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 "[email protected]#$%^&*()"
Do Until objFile.AtEndOfStream
    strCharacters = objFile.Read(1)

    WshShell.SendKeys strCharacters
Loop
</code>

Он не отправляет "(" и ")" когда я пытаюсь отправить их перед циклом, но не показывает ошибки и продолжается до тех пор, пока не встретит еще один символ "(" и остановится с ошибкой).

Код в вашем посте выполняется без каких-либо проблем. Это синтаксически правильно. Хотя скрипт фактически не выполняет никакой полезной функции. Он читает текстовый файл и вводит его содержимое в пустоту. Nilpo

Ваш Ответ

1   ответ
2

Скобки считаются специальным символом и должны быть заключены в фигурные скобки. Видеть этоссылка на сайт Больше подробностей.

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 "[email protected]#$%^&*{(}{)}"
Do Until objFile.AtEndOfStream
    strCharacters = objFile.Read(1)

    WshShell.SendKeys strCharacters
Loop
Error: User Rate Limit ExceededNOTError: User Rate Limit ExceededdoError: User Rate Limit Exceeded
Error: User Rate Limit Exceeded Jonah
Error: User Rate Limit Exceeded
Error: User Rate Limit ExceededSpecial Sendkeys characters
Error: User Rate Limit Exceeded

Похожие вопросы