VBA睡眠不起作用

soo*_*ise 15 vba sleep

我知道我在这里做错了.我正在尝试使用sleep函数来延迟我的代码,但是我得到"Sub或Function not defined"错误.有小费吗?

SLa*_*aks 20

VBA没有Sleep功能.

您可以从Kernel32.dll导入它,如下所示:

Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Run Code Online (Sandbox Code Playgroud)

请注意,这将冻结应用程序.
您也可以拨打DoEvents一个While循环,这不会冻结的应用程序.


Ant*_*ard 9

我尝试过的所有东西似乎都挂起了应用程序,包括Application.Wait.这似乎工作:

waitTill = Now() + TimeValue("00:15:00")

While Now() < waitTill
    DoEvents
Wend
Run Code Online (Sandbox Code Playgroud)

  • 更优雅的解决方案之一:) (2认同)

Ale*_* K. 8

您还可以暂停当前的宏上下文,Application.Wait T但不会阻止整个过程.

  • 这仅适用于“Excel.Application”。其他 Office 应用程序对象模型不存在 `Wait` 方法。 (3认同)