Как заставить vba работать каждые 10 минут?
Мне нужно, чтобы мой макрос выполнялся каждые 10 минут .
Это позволяет ему работать в течение 10 минут
sub my_Procedure ()
msgbox "hello world"
end sub
sub test()
Application.OnTime Now + TimeValue("00:00:10"), "my_Procedure"
end sub
Но это срабатывает только один раз . Как заставить мой макрос выполняться каждые 10 минут ?2 ответа:
Вы должны использовать этот шаблон:
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
Все в стандарте module..............be обязательно запустите StopTimer перед выходом из Excel
Примечание
"минутный" аргумент в TimeSerial являетсявторым аргументом .