这是一个非常简单的问题,但我无法在任何地方找到答案。
可能需要更多信息。我将来有一本工作手册和一些程序表。
现在我知道没有简单的方法来摆脱时间表,所以我想知道我是否要复制文件,是否也会复制时间表?
答案 0 :(得分:2)
使用Application.OnTime
,您将在当前Application对象的范围内安排程序。例如。如果你关闭它,所有活动的时间表都将被取消。
可能是计划的运行在Workbook_Open
事件或类似事件中设置 - 在这种情况下,只要您打开(复制或原始)文档,计划就会恢复。
正如Zeretil所暗示他的回答:时间表将在创建时间表时参考工作簿的程序。复制并打开工作簿时,这不会更改,副本中的过程当然不会运行。 如果使用原始工作簿关闭应用程序,则计划也将停止运行。
最后但并非最不重要:通过使用Schedule
方法的OnTime
参数,可以轻松地取消当前工作簿中的计划:
取消程序的时间表"测试":
编辑:包含可变时间的时间表+在设定时间取消
Sub RunTestOnTime()
Dim eTime as Variant
eTime = Now() + TimeValue("00:00:20") 'Store the time in a variable
Application.Ontime EarliestTime:=eTime, Procedure:="test" 'Schedule it
Application.OnTime EarliestTime:=eTime, Procedure:="test", Schedule:=False 'Delete schedule.
End Sub
有关OnTime
方法here on MSDN
答案 1 :(得分:0)