如何从内部暂停执行脚本?像Sleep WinAPI这样的功能?
答案 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