• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 1516
  • 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.
Cloud Class® Course: MCSA MCSE Windows Server 2012

This course teaches how to install and configure Windows Server 2012 R2.  It is the first step on your path to becoming a Microsoft Certified Solutions Expert (MCSE).

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

Free Tool: Subnet Calculator

The subnet calculator helps you design networks by taking an IP address and network mask and returning information such as network, broadcast address, and host range.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

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