• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 1505
  • Last Modified:

Application OnTime event

Is the Application.OnTime event valid in Visual Basic? Or could be used only in VBA? I get the error message 'Macro "my_procedure" not found.' Even if I put the "my_procedure" in a different module, the error message is the same. Any solutions to this?
1 Solution
When you put "my_procedure" in a different module you
must reference the module name of the different module:
"my_procedure" in a different module:

Application.OnTime Now + TimeValue("00:00:15"), "ModuleName.meine_Prozedur"

Best Regards
In VB exists Timer Control. It fulfils the defined operations designated in Timer Evet through given time(milliseconds).


At first it is necessary to place(install) time of operation, for example 10 milliseconds

me. Timer1. Interval=10

Further to start by its command

me. Timer1. Enabled=True

Through 10 milliseconds will be fulfilled Event Timer.
Nitin SontakkeDeveloperCommented:
Application is a generic object name, so its context changes according to its instantiation. Unless you are using automation, such an object doesn't exist in VB, forget the event.

So, make sure that Application object has appropriate context. You didn't mention from which Application did you imported the Macro.

If i am not clear, please give more info as what you are attempting to do. So that i will be able to tell more details.

But in short, Application.OnTime event is NOT in VB. It MIGHT be used, provided an appropriate context to Application object is available in VB.

Please give more details, though.
Free Tool: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

octiAuthor Commented:
I would like to run a procedure in Visual Basic (The result will be an exe file) at a certain time (8:00 AM for ex) using the Application objects OnTime event. This is the simplest one. The event occurs (becasuse I get the mentioned messege right on scheduled time) at the given time, but the procedure is not found.
Your procedure is defined in your VB exe project ?
octiAuthor Commented:
Yes, my procedure is defined in the exe project.
In your VB exe Project you have an handle to the VBA
application and then you call:

Application.ontime ....

Then VBA finds only VBA side defined macro procedures.
Not the functions defined in VB.


Richie_SimonettiIT OperationsCommented:
I agree with WolfgangKoenig.
If you want to run code from VB (Not vba) at certain time, use, inside VB, a timer control or api's SetTimer and KillTimer.
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

The 14th Annual Expert Award Winners

The results are in! Meet the top members of our 2017 Expert Awards. Congratulations to all who qualified!

Tackle projects and never again get stuck behind a technical roadblock.
Join Now