我已经阅读了许多有关实现Sleep API的线程,但是大多数知识比我所了解的要领先一步,我们将不胜感激。

我在VBA中有一个宏,我想在步骤之间添加停顿(纯粹是美观而不是功能),但是我在基本的声明和调用方面苦苦挣扎。

我了解我首先必须声明api,并且此代码是...

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

但是,我对应该去哪里感到困惑。它应该放在自己的模块中还是可以在宏模块的顶部声明?

然后要调用该函数,我只需在...的宏中添加一行即可...
Call Sleep (1000)

如果有人可以帮助解决这个问题,并感谢您对我的基本理解的耐心配合,我将不胜感激。

最佳答案

Sleep的声明应放在模块的顶部。标准编码模块。

您可以省略Call而仅使用

Sleep 1000  ' 1 second delay

现有子中的任何地方,所以
Option Explicit

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

Sub Main()

    ' wait 3 seconds
    Sleep 3000

End Sub



一个没有声明Sleep子项的替代方案是
Application.Wait Now + TimeValue("00:00:03") ' waits 3 seconds

09-30 18:12
查看更多