为了账号安全,请及时绑定邮箱和手机立即绑定

如何在Excel里使用定时器?

如何在Excel里使用定时器?

MMTTMM 2018-12-31 08:00:15
如何在Excel里使用定时器?
查看完整描述

1 回答

?
慕森王

TA贡献1777条经验 获得超3个赞

在 Office 里有个方法是 application.ontime ,具体函数如下:
expression.OnTime(EarliestTime, Procedure, LatestTime, Schedule)
如果想进一步了解,请参阅 Excel 的帮助。

这个函数是用来安排一个过程在将来的特定时间运行,(可为某个日期的指定时间,也可为指定的时间段之后)。通过这个函数我们就可以在 Excel 里编写自己的定时程序了。下面就举两个例子来说明它。

1.在下午 17:00:00 的时候显示一个对话框。

Sub Run_it()
Application.OnTime TimeValue("17:00:00"), "Show_my_msg"
'设置定时器在 17:00:00 激活,激活后运行 Show_my_msg 。
End Sub

Sub Show_my_msg()
msg = MsgBox("现在是 17:00:00 !", vbInformation, "自定义信息")
End Sub

2.模仿 Excel 97 里的 "自动保存宏",在这里定时 5 秒出现一次

Sub auto_open()
MsgBox "欢迎你,在这篇文档里,每 5 秒出现一次保存的提示!", vbInformation, "请注意!"
Call runtimer '打开文档时自动运行
End Sub

Sub runtimer()
Application.OnTime Now + TimeValue("00:00:05"), "saveit"
' Now + TimeValue("00:15:00") 指定在当前时间过 5 秒钟开始运行 Saveit 这个过程。
End Sub

Sub SaveIt()
msg = MsgBox("朋友,你已经工作很久了,现在就存盘吗?" & Chr(13) _
& "选择是:立刻存盘" & Chr(13) _
& "选择否:暂不存盘" & Chr(13) _
& "选择取消:不再出现这个提示", vbYesNoCancel + 64, "休息一会吧!")
'提示用户保存当前活动文档。

If msg = vbYes Then ActiveWorkbook.Save Else If msg = vbCancel Then Exit Sub
Call runtimer '如果用户没有选择取消就再次调用 Runtimer
End Sub



查看完整回答
反对 回复 2019-01-04
  • 1 回答
  • 0 关注
  • 823 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信