我想在我的VB脚本代码中的两个连续行之间引入3小时的延迟。VBScript中的时间延迟
我使用下面的代码片段如下:
WScript.Sleep 10800000
但我认为代码停止很长一段时间,很多超过3小时以上。我用了10800000,因为我读的时间以毫秒为单位。
请让我知道我的错误和实现这一目标的正确方法。 谢谢!
我想在我的VB脚本代码中的两个连续行之间引入3小时的延迟。VBScript中的时间延迟
我使用下面的代码片段如下:
WScript.Sleep 10800000
但我认为代码停止很长一段时间,很多超过3小时以上。我用了10800000,因为我读的时间以毫秒为单位。
请让我知道我的错误和实现这一目标的正确方法。 谢谢!
重要提供此解决方案是因为问题在开始时被标记为excel-vba。
我会给你不同的选择。我想你此刻是这样的:
Sub MyCurrentSub()
Dim A
A = 10
'wait 3 hour here and...
'...after 3 hours do other part of the sub
MsbBox A
End Sub
在等待时间,即使您使用不同的选项来等待(如Do...Loop
)您的Excel应用程序将是有限的,至少部分地将不作为平时的工作。
我会做这种方式,通过在适当的时候建立和调用不同的子:
Public A
Sub MyNewSub_1()
A = 10
Appication.OnTime Now + TimeValue("03:00:00"), "MyNewSub_2"
End Sub
'now you can use your Excel as usually...
Sub MyNewSub_2()
MsgBox A
End Sub
你会得到相同的结果,的Excell将免费为你等待过程中使用3小时时间。唯一需要记住的是 - 请勿退出应用程序。如果您退出Excel,它将'忘记'致电MyNewSub_2
。
尝试这样:
timeout = DateAdd("h", 3, Now)
Do Until Now > timeout
WScript.Sleep 200
Loop
非常感谢您的answer..it是有益的:)。 – user2862496
我们如何才能在VB脚本中实现这种延迟? – user2862496
这个提示是针对问题标签中提到的VBA。我不知道如何在VBScript中做... –