如何暂停vbscript执行?

时间:2010-10-27 20:00:33

标签: vbscript

如何从内部暂停执行脚本?像Sleep WinAPI这样的功能?

3 个答案:

答案 0 :(得分:19)

下面的脚本片段创建一个暂停子,用于显示字符串中的暂停文本并等待Enter键。 z可以是任何东西。如果需要多个用户干预,则需要暂停。我只是将它保存在我的标准脚本模板中。

Pause("Press Enter to continue")

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

答案 1 :(得分:17)

您可以使用WScript对象并在其上调用Sleep方法:

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

另一种选择是导入和使用WinAPI函数directly(仅适用于VBA,感谢@Helen):

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

答案 2 :(得分:10)

使用'输入'最好使用ReadLine()或Read(2),因为键输入'生成2个符号。如果用户输入任何文本,则即使使用Read(2),也会跳过Pause()。所以ReadLine()更好:

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

更多示例请查看http://technet.microsoft.com/en-us/library/ee156589.aspx