0
我想創建一個宏,它將自動關閉並保存一個Excel工作簿,如果它已經打開了一段時間。修改一些代碼,我在微軟的網站上找到,我有:VBA中的ActiveWorkbook
Private Sub Workbook_Open()
StartTimer
End Sub
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
StartTimer
End Sub
Const idleTime = 30
Dim Start as Long
Sub StartTimer()
Start = Timer
Do While Timer < Start + idleTime
DoEvents
Loop
Application.DisplayAlerts = False
ActiveWorkbook.Close True
Application.DisplayAlerts = True
End Sub
但是,這將引發一個錯誤,當循環結束(30秒後已經過去了)。在與Application.DisplayAlerts = False
的行它給我一個錯誤BASIC runtime error Object variable not set
如果我註釋掉應用程序行,它給我與ActiveWorkbook行相同的錯誤。然後我試着製作一個只是撥打Msgbox ActiveWorkbook.name
的宏,這給了我同樣的錯誤。我之前從未使用過VBA,所以我覺得這是一個愚蠢的明顯錯誤,但是SO的幫助將不勝感激。