gpt4 book ai didi

vba - Excel OnTime 事件调度程序

转载 作者:行者123 更新时间:2023-12-02 07:08:07 28 4
gpt4 key购买 nike

我需要每天在特定时间运行我的 Excel VBA。我用谷歌搜索了 ontime 方法,但是我没有从中得到全面的理解。我会提出这个来消除我对 ontime 方法的困惑。

在运行之前,包含的 Excel 工作簿是否必须为 ontime 方法打开。如果是,有没有办法在特定时间自动打开 Excel 工作簿。我知道它可以通过计时器或 Windows 任务计划程序来完成。有人可以帮我解决这个问题吗?我当前的代码是否适合自动任务调度程序?

我当前的代码如下所示:

Sub StartTimer()
Application.OnTime EarliestTime:=TimeValue("11:15:00"), Procedure:="rune", _
Schedule:=True
End Sub

Sub rune()
SourceOneUpdate
SourceTwoUpdate
SourceThreeUpdate
GenerateReport
End Sub

Private Sub workbook_open()
StartTimer
End Sub

这是基于这篇文章的想法:http://www.cpearson.com/excel/OnTime.aspx哪个螨虫有帮助。即使此工作簿已打开,它也不会自动运行。有人可以帮我解决这个问题,看看为什么它不能正常工作。

提前致谢。

最佳答案

只是为了扩展 d-stroyer 的评论。

您首先需要确保宏设置始终处于启用状态,因为这将确保每次打开工作簿时,宏都会在没有任何通知或确认的情况下运行。

为此,
Excel 选项 > 信任中心 > 信任中心设置(按钮) > 宏设置 > 启用所有宏 > 确定

现在您的宏已启用,您需要确保该宏在工作簿打开后立即运行。因此,转到 VB 编辑器并打开 ThisWorkbook 模块 > 创建一个 workbook_open() 事件,然后将“OnTime 代码”复制并粘贴到 workbook_open 事件中 > 保存并关闭

现在,每次打开工作簿时,工作簿都应在 8:47 运行所需的代码。

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

From Windows Help Forum

PS:确保您将计划程序设置为在 8:47 之前(所以可能是 8:46)打开 Excel 文件。

干杯,
公园

编辑:尝试运行此命令以查看您的 OnTime 是否正常工作..

Sub RunOnTime()
Application.OnTime Now + TimeSerial(0, 0, 10), "theSub"
End Sub

关于vba - Excel OnTime 事件调度程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18358214/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com