启动后台计时器,该计时器在指定的日期和指定的时间运行宏。
expression.OnTime(When, Name, Tolerance)
expression 必需。该表达式返回一个 Application 对象。
当 Variant 类型,必需。它表示运行宏的时间。可以作为一个指定时间的字符串(例如,"4:30 pm"
或 "16:30"
),或由一个例如,TimeValue 或 TimeSerial 的函数返回的一系列数字(例如,TimeValue("2:30 pm")
或 TimeSerial(14, 30, 00)
)。同样可以包括日期(例如,"6/30 4:15 pm"
或 TimeValue("6/30 4:15 pm")
)。
用 Now 函数返回值与 TimeValue(或 TimeSerial)函数返回值的和可以设置一个计时器,以在该语句运行一段时间之后的指定时间运行宏。例如, 用 Now+TimeValue("00:05:30")
在语句执行之后,运行一个宏,5分30秒。
Name tring 类型,必需。为需要运行的宏的名称。使用一个完成的宏路径来确保运行正确的宏(例如,"Project.Module1.Macro1"
)。如要运行宏,文档或模板就必需满足如下条件:不但在 OnTime 指令运行时有效,并且在由 When 指定的时间到达时也有效。因此,最好将宏贮存在 Normal.dot 或其他能够自动装载的共用模板上。
Tolerance Variant 类型,可选。表示到了由 When 指定的时间而未能运行的宏在取消前所经过的最大时间范围(单位为秒)。宏不一定总在指定时间运行。例如,如果正在进行某一分类操作,或者正在显示某一对话框,就可能延误宏的运行,直到 Word 完成当前任务。如果该参数为 0 或被省略,则不论由 When 指定的时间过去多久,宏都将运行。
Word 只能保留一个由 OnTime 设置的后台计时器。如果在现有计时器运行前启动另一个计时器,则将取消现有计时器。
本示例将在下午 3:55,在当前模块运行名为“Macro1”的宏。
Application.OnTime When:="15:55:00", Name:="Macro1"
在本示例运行 15 秒后,将开始运行一个名为“Macro1”的宏。此宏的名称中包括方案和模块的名称。
Application.OnTime When:=Now + TimeValue("00:00:15"), _
Name:="Project1.Module1.Macro1"
本示例将在 1:30 P.M 运行一个名为“Start”的宏。此宏的名称中包括方案和模块的名称。
Application.OnTime When:=TimeValue("1:30 pm"), _
Name:="VBAProj.Module1.Start"