ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 677|回复: 0

[分享] 如何在 Excel 里使用定时器

[复制链接]

TA的精华主题

TA的得分主题

发表于 2020-2-25 10:25 | 显示全部楼层 |阅读模式
        在 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 SubSub
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
'---------------------------------------------------
以上只是两个简单的例子,有兴趣的话,可以利用 Application.Ontime 这个函数写出更多更有用的定时程序。

您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

关闭

最新热点上一条 /1 下一条

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-4-25 04:33 , Processed in 0.026566 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表