我编写了一个使用Application.OnTime的宏,如果手动执行该宏,该宏将起作用。我正在尝试使此过程自动化,所以我不必在“此工作簿”或(Private Sub Workbook_Open()中编写Application.OnTime,因为您可以让Windows Scheduler在特定时间打开工作簿,在打开时启动宏,我无法使用调度程序。
因为我无法使用Windows计划程序,所以我将保持工作簿处于打开状态,计时器应刷新我的数据,然后在每天的特定时间调用“我的宏”。
我在哪里放置此代码,以及如何设置自动计时器?
最佳答案
您可以创建一种重复过程。它可能如下所示:
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"
其他一些修改也是可能的。