我有一份报告,希望在周一早上开始运行,因此每周报告都可以在办公室开放时准备好。宏运行主报告,保存不同版本,并打开和更新多个Access数据库。
我使用Application.OnTime来自动执行此操作。我已经测试了好几个星期了,当我将它设置为隔夜运行(即第二天)时,它运行正常,但是星期一早上从周五下午离开时,我无法让它工作。
这是时间码:
Private Sub Workbook_Open()
Application.OnTime TimeValue("05:00:00"), "Timer"
End Sub
Sub Timer()
If Weekday(Date) = vbMonday Then
Call MainMacro
Else
Exit Sub
End If
End Sub
我运行Application.OnTime子项,然后打开工作簿。
由于
答案 0 :(得分:2)
OnTime
事件发生后,您的Timer
子程序被调用,而您选择什么都不做 - 那就结束了。
你实际上需要在星期六设置一个新的OnTime
事件,因此它将在星期日运行,然后在星期一运行。
Private Sub Workbook_Open()
Application.OnTime TimeValue("05:00:00"), "Timer"
End Sub
Sub Timer()
If Weekday(Date) = vbMonday Then
MainMacro
Else
Application.OnTime TimeValue("05:00:00"), "Timer"
End If
End Sub