Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel Application.OnTime不是';t自动运行_Excel_Vba - Fatal编程技术网

Excel Application.OnTime不是';t自动运行

Excel Application.OnTime不是';t自动运行,excel,vba,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 Su

我正试图在一段时间后关闭工作簿

我现在用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



本工作簿中
添加程序工作簿\u打开时使用以下代码:

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
(或现在调用的工作簿_Open()),因为您省略了
Application.OnTime
的最后一个参数,即
Schedule
,它是可选的,默认值为
True
,表示事件将重复发生。不确定这是否真的是您的意思,因为您正在关闭wb。

我必须自己运行一次代码。是的,您的代码
测试必须运行一次,计时事件才能首先存在。不需要在
fermeoutil
中调用
test
。请看@TomBrunberg有没有办法自动运行?什么都不用做?感谢您要在工作簿打开时自动运行,请在
此工作簿
中写入代码,在事件
私有子工作簿_Open()
中,如果子工作簿的名称
工作簿_Open,如何命名
Application.OnTime
的过程@汤姆布伦伯格和你现在一样好吗?我不知道我是否理解你为什么问。它仍然不起作用。。。你说的都做了!好吧,对我来说很有效,我从一个工作测试中复制了代码,很有效。我只需要运行一次宏。现在它可以自动工作,而无需运行它。谢谢。