PC Review


Reply
Thread Tools Rate Thread

Cancelling Application.OnTime

 
 
=?Utf-8?B?RGFu?=
Guest
Posts: n/a
 
      11th Jul 2007
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
 
Reply With Quote
 
 
 
 
Leith Ross
Guest
Posts: n/a
 
      11th Jul 2007
On Jul 11, 12:58 am, Dan <D...@discussions.microsoft.com> wrote:
> 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


Hello Dan,

This should help. It is from the VBA help file...

OnTime Method Example

This example runs my_Procedure 15 seconds from now.

Application.OnTime Now + TimeValue("00:00:15"), "my_Procedure"
This example runs my_Procedure at 5 P.M.

Application.OnTime TimeValue("17:00:00"), "my_Procedure"
This example cancels the OnTime setting from the previous example.

Application.OnTime EarliestTime:=TimeValue("17:00:00"), _
Procedure:="my_Procedure", Schedule:=False

Sincerely,
Leith Ross

 
Reply With Quote
 
=?Utf-8?B?RGFu?=
Guest
Posts: n/a
 
      11th Jul 2007
Hi,
Thanks, but that is exactly my question - I have access to this page too,
and I copied it but as per my question this is not working and this was what
I was asking.

"Leith Ross" wrote:

> On Jul 11, 12:58 am, Dan <D...@discussions.microsoft.com> wrote:
> > 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

>
> Hello Dan,
>
> This should help. It is from the VBA help file...
>
> OnTime Method Example
>
> This example runs my_Procedure 15 seconds from now.
>
> Application.OnTime Now + TimeValue("00:00:15"), "my_Procedure"
> This example runs my_Procedure at 5 P.M.
>
> Application.OnTime TimeValue("17:00:00"), "my_Procedure"
> This example cancels the OnTime setting from the previous example.
>
> Application.OnTime EarliestTime:=TimeValue("17:00:00"), _
> Procedure:="my_Procedure", Schedule:=False
>
> Sincerely,
> Leith Ross
>
>

 
Reply With Quote
 
Chip Pearson
Guest
Posts: n/a
 
      11th Jul 2007
You need to pass the EXACT time of the timer back to OnTime in order to
cancel the timer. Therefore, you should create a public variable outside of
any procedure and store the time in that variable.

Public RunWhen As Double

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

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

See http://www.cpearson.com/excel/ontime.aspx for full details.


--
Cordially,
Chip Pearson
Microsoft MVP - Excel
Pearson Software Consulting
www.cpearson.com
(email on the web site)


"Dan" <(E-Mail Removed)> wrote in message
news:820DF93C-0742-4D99-8BF8-(E-Mail Removed)...
> 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


 
Reply With Quote
 
=?Utf-8?B?RGFu?=
Guest
Posts: n/a
 
      11th Jul 2007
Thank you very much

"Chip Pearson" wrote:

> You need to pass the EXACT time of the timer back to OnTime in order to
> cancel the timer. Therefore, you should create a public variable outside of
> any procedure and store the time in that variable.
>
> Public RunWhen As Double
>
> Sub RunMacro()
> RunWhen = Now + TimeValue("00:00:05")
> Application.RunWhen, "OnTimeMacro"
> End Sub
>
> Sub byebye()
> Application.OnTime EarliestTime:=RunWhen, _
> Procedure:="my_Procedure", Schedule:=False
> MsgBox "Bye Bye"
> End Sub
>
> See http://www.cpearson.com/excel/ontime.aspx for full details.
>
>
> --
> Cordially,
> Chip Pearson
> Microsoft MVP - Excel
> Pearson Software Consulting
> www.cpearson.com
> (email on the web site)
>
>
> "Dan" <(E-Mail Removed)> wrote in message
> news:820DF93C-0742-4D99-8BF8-(E-Mail Removed)...
> > 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

>

 
Reply With Quote
 
 
 
Reply

Thread Tools
Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
application.ontime cbs Microsoft Excel Programming 1 11th Mar 2009 07:23 AM
Cancelling Application.OnTime - error message =?Utf-8?B?RGFu?= Microsoft Excel Programming 2 11th Jul 2007 11:18 AM
application.ontime =?Utf-8?B?cmljaw==?= Microsoft Excel Programming 2 25th Jul 2005 06:09 PM
Application.OnTIme Mike Microsoft Excel Programming 8 15th Sep 2004 03:27 PM
application.ontime Svein Olav Steinmo Microsoft Excel Misc 0 29th Aug 2003 04:27 PM


Features
 

Advertising
 

Newsgroups
 


All times are GMT +1. The time now is 12:48 AM.