在特定时间运行Excel宏

时间:2018-04-17 20:43:32

标签: excel vba excel-vba

我尝试设置我的代码,每天凌晨4点运行一个宏。作为测试用例,我想检查它是否会运行测试宏。我把它设置为下午4:40运行,但它不会在那段时间运行(不要获得msgbox)。我真的很感激如何使它工作,所以我可以继续实际运行4am宏。

代码:

.nav-link::before {
  content: "•";
}

谢谢!

1 个答案:

答案 0 :(得分:0)

可以以两种方式之一

一个将通过 Windows任务计划程序。您将在哪里设置运行Excel.exe yourfile.xlsm的任务。然后将宏绑定到工作簿" WorkBook_Open"事件,检查当前时间。

转到任务计划程序,右键单击"创建基本任务..."。为任务命名,然后单击“下一步”。选择一个触发器(在此处提到的情况下为每日),然后单击“下一步”。设置时间和重复周期,然后单击“下一步”。在操作中,选择"启动程序"然后单击下一步。在“程序/脚本”文本框中,浏览Excel文件,然后单击“下一步”(将其他文本框保留为空)。单击“完成”。我现在只是在我的电脑上试过这个,它确实有效。

参见 Starting excel file with task scheduler   Task scheduler + VB script to auto open excel

<强>

使用代码

Private Sub Workbook_Open()
    Application.OnTime TimeValue("04:40:00"), "MyMacro"
End Sub

Sub MyMacro()
    Dim rtn As Integer
    rtn = MsgBox("Good to Go!", vbOKOnly + vbInformation, "GTG")
End Sub

使用代码时要记住的事项:
您需要确保excel保持打开状态,以便Application.OnTime正常工作,Excel不会被冻结/捆绑。将它放在工作簿打开事件或类似的事件中,以自动运行它。

无论哪种方式: 确保您的宏设置始终处于启用状态,因为这样可以确保每次打开工作簿时,宏都会在没有任何通知或确认的情况下运行。

要执行此操作: Excel选项&gt;信托中心&gt;信任中心设置(按钮)&gt;宏设置&gt;启用所有宏&gt;行