如何在自动运行宏时解决休眠问题?

时间:2018-03-16 08:51:41

标签: excel vba excel-vba

我正在使用下面的代码在每天的特定时间运行宏,这在我工作时工作正常但是在周末我的计算机进入睡眠模式并且代码无法运行。我该如何解决这个问题?

Sub Scheduler()
    Application.OnTime TimeValue("12:00:00"), "TheScheduledSub"
End Sub

Sub TheScheduledSub()
    MsgBox "TheScheduledSub() has run at " & Time
End Sub

2 个答案:

答案 0 :(得分:2)

您可以使用shell命令关闭休眠:

powercfg.exe /hibernate off

您可以使用Shell Function运行shell命令。

欲了解更多信息,请阅读:How to disable and re-enable hibernation on a computer that is running Windows

当你关闭那个文件时,别忘了再打开它。

答案 1 :(得分:1)

配置Windows任务计划程序以按指定时间(指定频率)唤醒计算机

来自this链接:

  • 如果您运行的是Windows 10或7(如果您使用的是Windows 8.x则启动屏幕)并按Enter键,则在“开始”菜单中键入任务计划程序,打开任务计划程序
  • 在Task Scheduler窗口中,单击Create Task链接以创建新任务。
  • 将任务命名为“从睡眠中唤醒”。您可能还想告诉它运行用户是否登录并将其设置为以最高权限运行。
  • 在“触发器”选项卡上,创建一个在所需时间运行任务的新触发器。这可以是重复的时间表,也可以是一次。
  • 在条件选项卡上,启用唤醒计算机以运行此任务选项。
  • 在操作选项卡上,您必须为任务指定至少一个操作 - 例如,您可以让任务启动文件下载程序。如果要在不运行程序的情况下唤醒系统,可以告诉任务使用/ c“exit”参数运行cmd.exe
  • 配置后保存新任务。

您还可以配置任务以发送计算机back to sleep

您还可以使用计划程序启动脚本。

添加cmd文本

CMD action