如何使用Application.OnTime在每天设定的时间调用macros而不必closures工作簿

我写了一个使用Application.OnTime的macros,如果我手动执行该macros的作品。 我试图自动化这个过程,所以我不必在“This Workbook”或(Private Sub Workbook_Open()()中编写Application.OnTime大多数人这样做是因为您可以让Windows调度程序在特定时间打开工作簿开启macros,我不能使用SCHEDULER。

因为我不能使用Windows调度程序,我会保持工作簿打开,计时器应刷新我的数据,然后每天在特定时间调用“我的macros”。

我在哪里放置这个代码,以及如何设置自动定时器?

您可以创build一种重复过程。 它可能如下所示:

Sub Call_At_3_30() 'first call appropriate procedure Call myProcedure 'next, set new calling time Application.OnTime TimeValue("3:30:00"), "Call_At_3_30" End Sub 

在某个地方你会保留你的主要程序,这种情况:

 Sub myProcedure 'your code here End Sub 

在这种情况下,您只需要运行第一个子程序Call_At_3_30一次。 但是您需要记住,Excel必须始终打开。

或者,如果您想在24小时后调用您的过程,则可以通过这种方式更改.OnTime指令:

 Application.OnTime Now + 1, "Call_At_3_30" 

其他一些修改也是可能的。