Excel VBA-Application.OnTime可以在夜间工作,但不能在周末工作
我有一份报告,我想在周一早上做,所以每周的报告都准备好了,等办公室开门的时候。宏运行主报表,保存不同版本的报表,并打开和更新多个Access数据库 我使用Application.OnTime来实现自动化。我已经测试了数周,当我设置它在夜间运行(即第二天)时,它工作正常,但我无法在星期一上午(从星期五下午离开时)让它工作 以下是计时代码:Excel VBA-Application.OnTime可以在夜间工作,但不能在周末工作,excel,vba,Excel,Vba,我有一份报告,我想在周一早上做,所以每周的报告都准备好了,等办公室开门的时候。宏运行主报表,保存不同版本的报表,并打开和更新多个Access数据库 我使用Application.OnTime来实现自动化。我已经测试了数周,当我设置它在夜间运行(即第二天)时,它工作正常,但我无法在星期一上午(从星期五下午离开时)让它工作 以下是计时代码: Private Sub Workbook_Open() Application.OnTime TimeValue("05:00:00"), "Timer"
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子文件,然后将工作簿保持打开状态
感谢一旦
OnTime
事件发生,并且调用了计时器
子例程,并且您选择了不执行任何操作-到此结束
实际上,您需要在周六设置一个新的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
你的日期设置正确吗?我不确定,代码一夜之间就可以正常工作了。YowE3K在下面的回答似乎是可行的。这很有道理,谢谢。我会在周末测试它,然后回来报告。呃,不,也许我是在装傻,但我怎么能在两天前测试它是否能工作呢?只是记得回来报告。成功了。谢谢你