VBA 里面的OnTime 和 TimeValue 怎么用?帮忙解释一下这个:Application.OnTime TimeValue(Now()) + TimeVa

Application.OnTime TimeValue(Now()) + TimeValue("00:00:01"), "countdown"
2025-01-07 05:55:16
推荐回答(4个)
回答1:

Application.OnTime TimeValue(Now()) + TimeV
你贴出来的这句跟下面的例子类似 只是后面没有跟要执行的过程
TmieV 应该是一个时间变量
下面是VBA帮助的对ontime的说明
OnTime 方法
安排一个过程在将来的特定时间运行(既可以是具体指定的某个时间,也可以是指定的一段时间之后)。
expression.OnTime(EarliestTime, Procedure, LatestTime, Schedule)
expression 必需。该表达式返回一个 Application 对象。
EarliestTime Variant 类型,必需。设置过程开始运行的时间。
Procedure String 类型,必需。设置要运行的过程名。
LatestTime Variant 类型,可选。过程开始运行的最晚时间。例如,LatestTime 参数设为 EarliestTime + 30,当时间到了 EarliestTime 时,如果由于其他程序处于运行状态 Microsoft Excel 不处于“就绪”、“复制”、“剪切”或“查找”模式,则 Microsoft Excel 将等待 30 秒让第一个过程先结束运行。如果 30 秒内 Microsoft Excel 不能回到“就绪”模式,则不运行此过程。如果省略该参数,Microsoft Excel 将一直等待到可以运行该过程为止。
Schedule Variant 类型,可选。如果该值为 True,则安排一个新的 OnTime 过程。如果该值为 False,则清除先前设置的过程。默认值为 True。
说明
使用 Now + TimeValue(time) 可安排经过一段时间(从现在开始计时)之后运行某个过程。使用 TimeValue(time) 可安排某个过程只运行指定的时间。
示例
本示例设置 15 秒后运行 my_Procedure 过程,从现在开始计时。
Application.OnTime Now + TimeValue("00:00:15"), "my_Procedure"
本示例设置 my_Procedure 在下午 5 点开始运行。
Application.OnTime TimeValue("17:00:00"), "my_Procedure"
本示例撤消前一个示例对 OnTime 的设置。Application.OnTime EarliestTime:=TimeValue("17:00:00"), _
Procedure:="my_Procedure", Schedule:=False

回答2:

可以在VBA编辑器环境里,获得即时帮助:
例如:
打开Excel,通过菜单 [工具] -- [宏] -- “Visual basic 编辑器”,进入通用代码窗口,输入:
OnTime
然后选中OnTime,按“F1”键,就可以获得相关帮助说明。

回答3:

这段代码的功能就是1秒钟后运行countdown过程。

回答4:

on time 定时提醒 timevalue是返回一个时间
application.ontime time value(now()) + timev
执行now这个时间的timev事件
timevalue(“14:23”)
timev produce 执行时间