Office中国论坛/Access中国论坛
标题:
VBA系列讲座(7):如何在Excel里使用定时器
[打印本页]
作者:
jsy165
时间:
2004-7-29 23:39
标题:
VBA系列讲座(7):如何在Excel里使用定时器
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 这个函数写出更多更有用的定时程序。
作者:不详
作者:
wzpdl
时间:
2004-8-11 21:24
文章还有吗?谢谢!
作者:
橄榄树
时间:
2004-10-19 16:04
好文章
作者:
一个人的夜
时间:
2004-11-8 01:31
不错.只是相对来说每篇都太简单了.没有一些相应的例子.
作者:
ail
时间:
2005-7-28 05:24
那么定时打印打怎么做?
作者:
zqsntws
时间:
2005-8-6 02:10
很好
作者:
dazzling
时间:
2006-5-10 22:05
access如何用定时器呢?
作者:
红池坝
时间:
2006-5-12 05:38
晕,有什么好的,excel帮助文档中写得明明白白的。
http://itbbs.pconline.com.cn/forum.jsp?search=1&fid=251&time=ALL&type=&author=%D7%F7%D5%DF%D5%CA%BA%C5&searchText=%B6%A8%CA%B1
作者:
kele-cn
时间:
2007-1-8 20:59
呵呵,话不可那么说,先谢谢了,学习中...
作者:
cola
时间:
2007-1-8 21:14
虽然涉及内容比较简单,并且帮助文件中也有类似举例,但是应该提倡这样"为论坛网友服务",及时转发有分享价值的帖子,总结操作方面的服务精神。
作者:
redlotus
时间:
2007-2-1 06:29
msg = MsgBox("朋友,你已经工作很久了,现在就存盘吗?" & Chr(13) _
& "选择是:立刻存盘" & Chr(13) _
& "选择否:暂不存盘" & Chr(13) _
& "选择取消:不再出现这个提示", vbYesNoCancel + 64, "休息一会吧!")
这段有点问题?
作者:
heheboy
时间:
2007-5-12 19:04
谢谢你的提供,我正在学习。。。不错
欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/)
Powered by Discuz! X3.3