📜  VBA 睡眠片段 - VBA (1)

📅  最后修改于: 2023-12-03 15:35:34.661000             🧑  作者: Mango

VBA 睡眠片段 - VBA

在 VBA 中,我们有一种非常有用的方法,可以让程序暂停一段时间,这就是“睡眠”,或者叫“延时”。

我们可以使用 Application.Wait 方法来实现睡眠:

Sub Sleep()
    Application.Wait Now + TimeValue("0:00:10") ' 睡眠 10 秒
End Sub

上面的代码会让程序暂停 10 秒,然后继续执行。

另外,我们还可以使用 Timer 函数来自行实现睡眠:

Sub Sleep()
    Dim StartTime As Double
    StartTime = Timer
    
    Do While Timer < StartTime + 10 ' 睡眠 10 秒
        DoEvents
    Loop
End Sub

上面的代码同样会让程序暂停 10 秒,然后继续执行。

需要注意的是,Application.Wait 方法会阻塞程序的执行,也就是说,程序会在此处等待,直到指定的时间过去。而使用 Timer 函数则可以在等待的同时继续处理其他事情。

另外,为了避免 VBA 进行大量的空转,我们通常在循环内加入 DoEvents,这样可以让 VBA 在等待的过程中处理其他待处理的事件。

总之,无论是使用 Application.Wait 方法还是自行实现睡眠,都是 VBA 开发中非常有用的技巧。