如何让VBA每10分钟执行一次?
我需要每10分钟执行一次我的macros。
这允许它在10分钟内工作
sub my_Procedure () msgbox "hello world" end sub sub test() Application.OnTime Now + TimeValue("00:00:10"), "my_Procedure" end sub
但是这只能工作一次。 我怎样才能让我的macros每10分钟执行一次?
你应该使用这种模式:
Sub my_Procedure() MsgBox "hello world" Call test ' for starting timer again End Sub Sub test() Application.OnTime Now + TimeValue("00:10:00"), "my_Procedure" End Sub
考虑:
Public RunWhen As Double Public Const cRunWhat = "my_Procedure" Sub StartTimer() RunWhen = Now + TimeSerial(0, 10, 0) Application.OnTime earliesttime:=RunWhen, procedure:=cRunWhat, _ schedule:=True End Sub Sub StopTimer() On Error Resume Next Application.OnTime earliesttime:=RunWhen, _ procedure:=cRunWhat, schedule:=False End Sub Sub my_Procedure() MsgBox "hello world" Call StartTimer End Sub
全部在标准模块中…………..确保在退出Excel之前运行StopTimer
注意
TimeSerial中的“minute”参数是第二个参数。