关于VBA定时执行的问题

sea127 2008-02-18 10:02:54
Public Sub dd()
Application.Sheets("承兑汇票明细").OnTime TimeValue("09:59:00"), "down_YC"
End Sub
没有自动执行DOWN_YC过程,不知ONTIME方法用法是否正确?另外,还有个难题,如果想定时执行几个连续的过程该怎么做?
...全文
380 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
sea127 2008-02-18
  • 打赏
  • 举报
回复
是不是在任一SUB中写了ONTIME就会自动执行了。我想这张表打开后就不关了,今后每天自动执行,可否?
ChinaOBS 2008-02-18
  • 打赏
  • 举报
回复
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




--------------------------------------------------------------------------
如果想定时执行几个连续的过程该怎么做?

可以将多个过程捆绑在一个过程中,呵呵

5,139

社区成员

发帖
与我相关
我的任务
社区描述
其他开发语言 Office开发/ VBA
社区管理员
  • Office开发/ VBA社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧