大家好,欢迎来到IT知识分享网。
使用Application对象的OnTime方法,可以设置程序的运行计划策略。比如,设置在某个特定时间,或者某段时间后运行程序。
让程序在指定的时间后再运行
如果需要在经过一段时间后开始执行程序,就可以使用Application.OnTime方法,并结合Now + TimeSerial(time)安排经过一段时间(从现在开始计时)之后运行某个过程。
下面的案例,设置5秒后运行myTask过程(从现在开始计时)。
' ' 设置延时执行任务 ' Sub SetDelayedTask() Application.OnTime Now + TimeSerial("00:00:05"), "myTask" End Sub Sub myTask() MsgBoxEx "开始执行程序" End Sub
定期运行程序以分析数据
也可以指定计划,在一天的特定时间执行程序,例如,在每天早额9点,10点,16点运行分析数据的程序,此时,仍需要使用Application.OnTime,并将发OnTime中的参数设置为具体时间。
下面的案例,就能在每天的9点,16点执行任务myTasks。
' ' 定时任务 ' Sub 执行定时任务() Application.OnTime TimeValue("09:00:00"), "myTask" Application.OnTime TimeValue("16:00:00"), "myTask" End Sub Sub myTask() MsgBoxEx "开始执行程序" End Sub
周期性执行任务
Application.OnTime还可与设置任务每隔一段时间运行一次。
比如,编写一个计划运行程序,使之能够每隔10分钟就提醒用户保存工作簿。
' ' 周期性执行任务 ' Sub SetPeriodicTask() Application.OnTime Now + TimeValue("00:10:00"), "saveWorkbook" End Sub Sub saveWorkbook() If MsgBox("当前文件于10分钟前保存一次。现在要重新保存吗?", vbQuestion + vbYesNo) = vbYes Then ThisWorkbook.Save End If ' 回调上游过程 SetPeriodicTask End Sub
取消执行计划
要取消某个任务计划,可以把OnTime方法中的参数Schedule设置为False。
下面的案例中,取消原计划在17:00要执行的任务myTask。
' ' 取消任务计划 ' Sub cancelTask() Application.OnTime TimeValue("17:00:00"), "myTask", False End Sub Sub myTask() MsgBoxEx "开始执行程序" End Sub
注意
如果压迫取消多个任务计划,最直接有效的方法是直接关闭Excel。
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/159516.html