ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Clear events scheduled with Ontime method (https://www.excelbanter.com/excel-programming/349360-clear-events-scheduled-ontime-method.html)

Rob

Clear events scheduled with Ontime method
 
I need proc_2 to run a minute after proc_1 is finished. However, if proc_1
is run again less than a minute after the first time, I don't want it to run
until a minute after the second run:

ie proc_1 is trigered at 12:00:00, then again at 12:00:20
proc_2 runs once onl at 12:01:20

sub proc_1
'other code
application.ontime now+timevalue("00:01:00"), "proc_2")
end sub
sub proc_2
beep
application.statusbar = false
end sub



Bob Phillips[_6_]

Clear events scheduled with Ontime method
 
Try cancelling it first

Dim nTime

Sub proc_1()
On Error Resume Next
Application.OnTime nTime, "proc_2", , False
On Error GoTo 0
nTime = Now + TimeValue("00:01:00")
Application.OnTime nTime, "proc_2"
End Sub

Sub proc_2()
Beep
Application.StatusBar = False
End Sub

--
HTH

Bob Phillips

(remove nothere from email address if mailing direct)

"Rob" wrote in message
...
I need proc_2 to run a minute after proc_1 is finished. However, if

proc_1
is run again less than a minute after the first time, I don't want it to

run
until a minute after the second run:

ie proc_1 is trigered at 12:00:00, then again at 12:00:20
proc_2 runs once onl at 12:01:20

sub proc_1
'other code
application.ontime now+timevalue("00:01:00"), "proc_2")
end sub
sub proc_2
beep
application.statusbar = false
end sub





Tushar Mehta

Clear events scheduled with Ontime method
 
Option Explicit

Dim Proc2Time As Date
Sub Proc1()
On Error Resume Next
Application.OnTime Proc2Time, "Proc2", Schedule:=False
On Error GoTo 0
Proc2Time = Now() + TimeSerial(0, 1, 0)
Application.OnTime Proc2Time, "Proc2", Schedule:=True
End Sub
Sub Proc2()
End Sub

--
Regards,

Tushar Mehta
www.tushar-mehta.com
Excel, PowerPoint, and VBA add-ins, tutorials
Custom MS Office productivity solutions

In article ,
says...
I need proc_2 to run a minute after proc_1 is finished. However, if proc_1
is run again less than a minute after the first time, I don't want it to run
until a minute after the second run:

ie proc_1 is trigered at 12:00:00, then again at 12:00:20
proc_2 runs once onl at 12:01:20

sub proc_1
'other code
application.ontime now+timevalue("00:01:00"), "proc_2")
end sub
sub proc_2
beep
application.statusbar = false
end sub





All times are GMT +1. The time now is 10:56 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com