安排一个过程在将来的特定时间运行(既可以是具体指定的某个时间,也可以是指定的一段时间之后)。
语法
表达式。OnTime (EarliestTime、 Procedure、 LatestTime、 Schedule)
expression:表示 Application 对象的变量。
参数
| 名称 | 必需/可选 | 数据类型 | 说明 |
|---|---|---|---|
| EarliestTime | 必需 | Variant | 希望此过程运行的时间。 |
| Procedure | 必需 | String | 要运行的过程名。 |
| LatestTime | 可选 | Variant | 可以运行相应过程的最后时间。 例如,如果 LatestTime 设置为 EarliestTime + 30,并且由于另一个过程正在运行,而 Microsoft Excel 在 EarliestTime 未处于“准备”、“复制”、“剪切”或“查找”模式,则 Excel 将等待 30 秒,以便第一个过程完成。 如果 Excel 在 30 秒内未处于“就绪”模式,则该过程将不会运行。 如果省略此参数,Excel 将等到可以运行该过程。 |
| Schedule | 可选 | Variant | 如果为 True,则安排新的 OnTime 过程。 如果为 False,则清除以前设置的过程。 默认值为 True。 |
备注
用于 Now + TimeValue(time) 计划在从现在起计算的特定时间 () 运行某些内容。 使用 TimeValue(time) 可安排某个过程只运行指定的时间。
EarliestTime 的值四舍五入到最近的秒。
将 Schedule 设置为 False 可清除先前使用相同 Procedure 和 EarliestTime 值设置的过程。
Procedure 必须不带参数,并且不能在自定义类或表单中声明。
示例
此示例 my_Procedure 现在起运行 15 秒。
Application.OnTime Now + TimeValue("00:00:15"), "my_Procedure"
此示例在下午 5 点 my_Procedure 运行。
Application.OnTime TimeValue("17:00:00"), "my_Procedure"
本示例撤消前一个示例对 OnTime 的设置。
Application.OnTime EarliestTime:=TimeValue("17:00:00"), _
Procedure:="my_Procedure", Schedule:=False
支持和反馈
有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。