OFFICE学习资料 | OFFICE资源下载 | OFFICE知识问答      
设为首页
加入收藏
联系站长
  当前位置:Office学院 >> Office >> VBA 基础 >> 正文
VBA系列讲座(7):如何在Excel里使用定时器
[2006年10月26日]  点击数: 【字体: 】【双击滚屏
 

    用过 Excel 里的加载宏 "定时保存" 吗?可惜它的源程序是加密的,现在就上传一篇介绍实现它的文档。
在 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

以上只是两个简单的例子,有兴趣的话,可以利用 Application.Ontime 这个函数写出更多更有用的定时程序。


我要提问
上一篇:软件界面设计原则
下一篇:VBA系列讲座(6):提高Excel中VBA的效率
最新文章
也谈数字签名10/26
字符串问题提问答集10/26
Visual Basic的调试和错误处理10/26
VBA系列讲座(1):VBA是什么10/26
VBA系列讲座(2):处理录制的宏10/26
VBA系列讲座(3):学习控件10/26
VBA系列讲座(4):理解变量10/26
VBA系列讲座(5):利用VBA设置工作表使用权限10/26
热门文章
相关文章
从菜鸟成为Excel高手 之 IS函数
从菜鸟成为Excel高手 之 If函数
语音校对Excel“文本到语音”功能
在Excel中实现数据的快速录入
Word 快捷键使用操作技巧三则
WordXP和ExcelXP的使用极限
Excel帮你填写报名信息卡
Excel最新提速大法之12绝招
office知识问答 | office资源下载
备案许可证号: 津ICP备06003561号
版权所有:Office学院 www.officeXY.com
OFFICE学院致力于成就华人社区最受欢迎的office办公软件学习园地;为大家提供word、excel、access、FrontPage、PowerPoint等Office各个系列产品的最全的教程、用法、技巧、方案;并竭力打造最方便的问题解答系统