有关在VBScript中编写代码以创建提醒或警报的问题

时间:2019-01-17 03:18:25

标签: vba vbscript alarm reminders msgbox

我希望创建一个提醒或警报,以提醒自己有关特别是频率不规则的报告。

以下是我希望在指定的日期和时间自动调用的代码。它将弹出一个消息框,如果单击“否”,它将每隔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方法指定时间单位而不是毫秒?非常感谢!

1 个答案:

答案 0 :(得分:1)

SCHTASKS /Create /SC WEEKLY /D MON /TN ReportAlarm /st 16:00 /TR "c:\windows\system32\cmd /c 'Echo Report Time & Pause'"

有关帮助,请参见schtasks /?

这是您每周安排一次任务的方式。

但是您可以将 Windows的闹钟和时钟与30分钟的暂停一起使用,这更容易。

点击开始所有应用闹钟和时钟。在“警报”选项卡上,单击底部工具栏上的大 + 符号。将闹钟设置为 4pm ,重复设置为星期一,并将暂停设置为 30分钟。将警报命名为请提交报告。单击底部工具栏上的软盘图标以保存。