Cancelling Application.OnTime - error message

G

Guest

Hi,
I need to run a process repeatively, but I need to be able to stop it too or
change the timing , but keep getting the following error when trying to stop
the process " Run-Time error '1004': Method 'ONTIME' of Object 'Application'
Failed"

Any idea why, or how I should do it instead.
Many thanks

Sub RunMacro()
Application.OnTime Now + TimeValue("00:00:05"), "OnTimeMacro"

End Sub

Sub OntimeMacro()
MsgBox "hello"
RunMacro

End Sub

Sub byebye()
Application.OnTime EarliestTime:=TimeValue("00:00:05"),
Procedure:="my_Procedure", Schedule:=False ' this is where I keep getting
the error?
MsgBox "Bye Bye"
End Sub
 
B

Bob Phillips

What you need to do is save the scheduled time in a public variable, and use
that when stopping it.

Public nTime as Double

Sub RunMacro()
nTime = Now + TimeValue("00:00:05")
Application.OnTime nTime, "OnTimeMacro"

End Sub

Sub OntimeMacro()
MsgBox "hello"
RunMacro

End Sub

Sub byebye()
Application.OnTime EarliestTime:=nTime, Procedure:="my_Procedure",
Schedule:=False
MsgBox "Bye Bye"
End Sub


--
HTH

Bob

(there's no email, no snail mail, but somewhere should be gmail in my addy)
 
G

Guest

Thank you very much

Bob Phillips said:
What you need to do is save the scheduled time in a public variable, and use
that when stopping it.

Public nTime as Double

Sub RunMacro()
nTime = Now + TimeValue("00:00:05")
Application.OnTime nTime, "OnTimeMacro"

End Sub

Sub OntimeMacro()
MsgBox "hello"
RunMacro

End Sub

Sub byebye()
Application.OnTime EarliestTime:=nTime, Procedure:="my_Procedure",
Schedule:=False
MsgBox "Bye Bye"
End Sub


--
HTH

Bob

(there's no email, no snail mail, but somewhere should be gmail in my addy)
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top