延迟Excel保存function

我有一个工作簿,需要保存在开始,然后每5分钟自动保存,但我需要延迟初始保存,以便当工作簿打开时等待30秒,然后保存。

这是我有的代码,但它会自动运行它:

Private Sub Workbook_Open() Time = Now() + TimeValue("00:00:30") Application.OnTime Time, "WaitUntilReady" 

 Public Sub WaitUntilReady() savefolder = "C:\Users\" & Environ$("Username") & "\Desktop\" mypath = savefolder & Format(Date, "dd-mmm-yy") If Len(Dir(mypath, vbDirectory)) = 0 Then MkDir mypath On Error Resume Next ThisWorkbook.SaveAs mypath & "\" & "Practice Monitoring Template" & " - " & Format(Time, "hh.nn") & ".xlsm" Application.EnableEvents = True End Sub 

Time是Excel中的保留字(它返回当前时间),请使用下面的代码:

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

Time是一个整合的function。 如果您没有将其声明为variables,那么Time = ...应该会引发错误。 如果你已经声明了,它实际上应该运行良好(不是立即) – 它在我的testing中。 (当然,你应该改变variables名称)。