vba 定时器

发布时间 2023-05-23 09:25:28作者: 绮丽梦境

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