Application.OnTime不会自动运行

时间:2019-12-08 06:17:55

标签: excel vba

我想在一段时间后关闭工作簿。

我现在仅用10秒钟来测试它,但是它不能自动工作。

我必须自己运行一次代码。

这是我在模块中的代码。

Public Sub fermeoutil()

Workbooks("OUTIL_CRN.xlsm").Save
Workbooks("OUTIL_CRN.xlsm").Close
Call test
End Sub

Sub test()
Application.OnTime Now + TimeValue("00:00:10"), "fermeoutil"

End Sub


1 个答案:

答案 0 :(得分:1)

ThisWorkbook中,使用以下代码添加过程Workbook_Open:

Private Sub Workbook_Open()
    Application.OnTime Now + TimeValue("00:00:10"), "fermeoutil"
End Sub

Module1中,保持当前过程fermeoutil()删除对test的调用:

Public Sub fermeoutil()
    Workbooks("OUTIL_CRN.xlsm").Save
    Workbooks("OUTIL_CRN.xlsm").Close
End Sub

不需要调用test(或现在称为Workbook_Open()),因为您省略了Application.OnTime的最后一个参数,即Schedule可选,默认值为True,表示事件将重复发生。由于您要关闭wb,因此不确定这是否真的是您的意思。