Подтвердить что ты не робот

Как приостановить выполнение vbscript?

Как приостановить выполнение script изнутри? Что-то вроде функции Sleep WinAPI?

4b9b3361

Ответ 1

Вы можете использовать объект WScript и вызвать метод Sleep:

Set WScript = CreateObject("WScript.Shell")
WScript.Sleep 2000 'Sleeps for 2 seconds

Другой вариант - импортировать и использовать функцию WinAPI непосредственно (работает только в VBA, спасибо @Helen):

Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Sleep 2000

Ответ 2

Script snip ниже создает вспомогательную паузу, которая отображает текст паузы в строке и ждет клавишу Enter. z может быть любым. Отлично, если требуется многопользовательское вмешательство, необходимы паузы. Я просто сохраняю его в стандартном шаблоне script.

Pause("Press Enter to continue")

Sub Pause(strPause)
     WScript.Echo (strPause)
     z = WScript.StdIn.Read(1)
End Sub

Ответ 3

С 'Enter' лучше использовать ReadLine() или Read (2), потому что ключ 'Enter' генерирует 2 символа. Если пользователь вводит любой текст, следующий Pause() также будет пропущен даже с помощью Read (2). Так что ReadLine() лучше:

Sub Pause()
    WScript.Echo ("Press Enter to continue")
    z = WScript.StdIn.ReadLine()
End Sub

Дополнительные примеры смотрите в http://technet.microsoft.com/en-us/library/ee156589.aspx