【发布时间】:2017-06-30 10:49:10
【问题描述】:
我只想要一个可以双击的文件,让 Windows 每 15 分钟口头告诉我一次时间。 (直到我终止进程)
我找到了一个 VBscript 的教程,它每小时都告诉你时间: https://www.nextofwindows.com/windows-trick-how-to-make-your-computer-to-speak-out-time-at-every-hour
我无法让 Windows 调度程序为我的目的使用它(仅在双击时启动并每 15 分钟运行一次),老实说,我只想在脚本本身中编写一个 15 分钟间隔的循环。 (也许通过使用Do/While 循环和Sleep()?)
另一个问题:
我尝试添加一个分钟变量,以便 Windows 也会宣布分钟:
Dim speaks, speech
speaks = “It is ” & hour(time) & minute(time)
Set speech = CreateObject(“sapi.spvoice”)
speech.Speak speaks
但是,它以这种奇怪的格式宣布时间。例如,现在是凌晨 5:01,当我运行脚本时,Windows 显示“现在是 51”。为什么它将 5:01 解释为 50 加 1?早些时候我在 4:32 测试它时,它说“四百三十二”。我希望它以正常的 12 小时方式显示时间。
【问题讨论】:
-
如果您想通过双击启动它并让它每十五分钟发言一次,请忘记 Windows 调度程序。下面是如何让 VBScript 定期执行某项操作的示例:stackoverflow.com/questions/25009516/…。查看您链接到的站点,语音文本实际上是
5 oclock。语音文本不是5:00。所以我猜SAPI不会以这种方式识别时间。您需要自己生成文本。如果您将小时和分钟分开,这将非常简单:即5和53而不是5:53 -
@Nick.McDermaid VBScript 与 VBA 不同,VBScript 中有一个
Application.OnTime事件处理程序。 -
哦,是的,你是对的。我没有意识到这是 VBA
标签: windows vbscript windows-10 scheduled-tasks