vba代码中,可以设置定时器。如下例子执行宏 auto_open后,可触发定时器。
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