📅  最后修改于: 2023-12-03 15:35:34.661000             🧑  作者: Mango
在 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 开发中非常有用的技巧。