excel - 如何使用 Application.OnTime 在每天设定的时间调用宏,而无需关闭工作簿

标签 excel vba ontime

我编写了一个使用 Application.OnTime 的宏,如果我手动执行宏,它就可以工作。我正在尝试自动化此过程,因此我不必在“此工作簿”或(Private Sub Workbook_Open()中编写 Application.OnTime )大多数人这样做是因为您可以让 windows 调度程序在某个时间打开工作簿在打开时启动宏。我不能使用调度程序。

因为我无法使用 Windows 调度程序,所以我将保持工作簿打开,计时器应该刷新我的数据,然后每天在某个时间调用“我的宏”。

我在哪里放置此代码,以及如何设置自动计时器?

最佳答案

您可以创建一种重复过程。它可能如下所示:

Sub Call_At_3_30()
    'first call appropriate procedure 
    Call myProcedure
    'next, set new calling time
    Application.OnTime TimeValue("3:30:00"), "Call_At_3_30"
End Sub

您将在某个地方保留您的主要程序,这种情况:
Sub myProcedure
    'your code here
End Sub

在这种情况下,您需要运行第一个子程序 Call_At_3_30只有一次。但是您需要记住,Excel 必须始终处于打开状态。

或者,如果您想在 24 小时后调用您的程序,您可以更改 .OnTime以这种方式指令:
Application.OnTime Now + 1, "Call_At_3_30"

其他一些修改也是可能的。

关于excel - 如何使用 Application.OnTime 在每天设定的时间调用宏,而无需关闭工作簿,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17301512/

相关文章:

java - 结果集到 Excel 文件

mysql - 如何从本地计算机将数据从mysql xampp导入excel 2013

vba - 如何在单独的工作表中找到特定的单元格值?

excel - 使用 OnTime 宏停止潜艇的按钮不会停止

java - Excel 公式不更新单元格

excel - 运行宏后隐藏行 "unhides"

validation - Excel 2010 - VBA/公式 - 无法找到范围名称的定义方式

vba - 将表格粘贴到打开的 Word 文档中的书签处

project-management - Axosoft OnTime 与 Countersoft Gemini

excel - VBA准时取消调度