每 2 小时运行一次宏 仅当上一次运行完成时

Run Macro Every 2 hours Only if previous run is complete

我已将宏设置为每 2 小时运行一次,方法是:

Application.OnTime (TimeSerial(6, 0, 0)), "AutoUpdate"

但是有时会出现问题,因为偶尔宏会溢出 2 小时以上,并在前一个宏仍在运行时尝试再次运行,从而导致崩溃。有没有人知道如何说 "if the previous "AutoUpdate" 仍在运行然后不要再次运行 "AutoUpdate"?"

定义一个布尔类型的全局变量:

Dim gRunning as Boolean

在您的子目录中,添加以下代码:

If gRunning = True Then
  Exit Sub
End If

gRunning = True 

[...]

gRunning = False