设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

12下一页
返回列表 发新帖
查看: 6984|回复: 11
打印 上一主题 下一主题

[VBA编程/宏] VBA系列讲座(7):如何在Excel里使用定时器

[复制链接]
跳转到指定楼层
1#
发表于 2004-7-29 23:39:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
VBA系列讲座(7):如何在Excel里使用定时器

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



在 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 这个函数写出更多更有用的定时程序。





作者:不详
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2004-8-11 21:24:00 | 只看该作者
文章还有吗?谢谢!
3#
发表于 2004-10-19 16:04:00 | 只看该作者
好文章
4#
发表于 2004-11-8 01:31:00 | 只看该作者
不错.只是相对来说每篇都太简单了.没有一些相应的例子.
5#
发表于 2005-7-28 05:24:00 | 只看该作者
那么定时打印打怎么做?
6#
发表于 2005-8-6 02:10:00 | 只看该作者
很好
7#
发表于 2006-5-10 22:05:00 | 只看该作者
access如何用定时器呢?

8#
发表于 2006-5-12 05:38:00 | 只看该作者
9#
发表于 2007-1-8 20:59:00 | 只看该作者
呵呵,话不可那么说,先谢谢了,学习中...
10#
发表于 2007-1-8 21:14:00 | 只看该作者
虽然涉及内容比较简单,并且帮助文件中也有类似举例,但是应该提倡这样"为论坛网友服务",及时转发有分享价值的帖子,总结操作方面的服务精神。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-5-23 06:35 , Processed in 0.097278 second(s), 33 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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