OnTime 方法

       

启动后台计时器,该计时器在指定的日期和指定的时间运行宏。

expression.OnTime(When, Name, Tolerance)

expression   必需。该表达式返回一个 Application 对象。

   Variant 类型,必需。它表示运行宏的时间。可以作为一个指定时间的字符串(例如,"4:30 pm""16:30"),或由一个例如,TimeValueTimeSerial 的函数返回的一系列数字(例如,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"