【发布时间】:2019-01-17 03:18:24
【问题描述】:
我希望创建一个提醒或警报来提醒自己特别是频率不规律的报告。
下面是我希望在我指定的日期和时间自动调用的代码。它会弹出一个消息框,如果单击“否”,它将每 10 分钟再次询问一次,直到单击“是”为止。
ans = Msgbox("Have you submitted the report?",vbYesNo + vbQuestion, "Reminder")
If ans = vbNo then
Do Until ans = vbYes
WScript.Sleep 600000 'every 10 minutes, 1 = 1ms
ans = Msgbox("Have you submitted the report?",vbYesNo + vbQuestion, "Reminder")
Loop
End If
WScript.Quit
但是,我不知道如何编写代码来触发脚本? VBScript中是否有类似于Excel VBA中事件过程的功能?
例如,我希望有这样的东西:
If Weekday(Date()) = 3 or Weekday(Date()) = 5 And Time() >= TimeValue("3:30pm") then
'Call the above code
End If
但是,即使满足日期和时间,上面的 if 语句也不会自行运行……
其他问题:
如果我单击否,消息框会消失,并会在 10 分钟后返回。如果我想在下一个消息框出现之前退出脚本怎么办?
还有什么方法可以为 Sleep 方法指定时间单位而不是毫秒?非常感谢!
【问题讨论】:
标签: vba vbscript alarm reminders msgbox