Private TimeToClose As Date
Private Const MinuteToClose = 10
Private Sub Workbook_Activate()
Call WaitForClose
End Sub
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Call WaitForClose
End Sub
Private Sub Workbook_Deactivate()
Call WaitForClose
End Sub
Private Sub Workbook_NewChart(ByVal Ch As Chart)
Call WaitForClose
End Sub
Private Sub Workbook_NewSheet(ByVal Sh As Object)
Call WaitForClose
End Sub
Private Sub Workbook_Open()
Call WaitForClose
End Sub
Private Sub Workbook_PivotTableCloseConnection(ByVal Target As PivotTable)
Call WaitForClose
End Sub
Private Sub Workbook_PivotTableOpenConnection(ByVal Target As PivotTable)
Call WaitForClose
End Sub
Private Sub Workbook_RowsetComplete(ByVal Description As String, ByVal Sheet As String, ByVal Success As Boolean)
Call WaitForClose
End Sub
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Call WaitForClose
End Sub
Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
Call WaitForClose
End Sub
Private Sub Workbook_SheetBeforeRightClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
Call WaitForClose
End Sub
Private Sub Workbook_SheetCalculate(ByVal Sh As Object)
Call WaitForClose
End Sub
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Call WaitForClose
End Sub
Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
Call WaitForClose
End Sub
Private Sub Workbook_SheetPivotTableAfterValueChange(ByVal Sh As Object, ByVal TargetPivotTable As PivotTable, ByVal TargetRange As Range)
Call WaitForClose
End Sub
Private Sub Workbook_SheetPivotTableBeforeAllocateChanges(ByVal Sh As Object, ByVal TargetPivotTable As PivotTable, ByVal ValueChangeStart As Long, ByVal ValueChangeEnd As Long, Cancel As Boolean)
Call WaitForClose
End Sub
Private Sub Workbook_SheetPivotTableBeforeCommitChanges(ByVal Sh As Object, ByVal TargetPivotTable As PivotTable, ByVal ValueChangeStart As Long, ByVal ValueChangeEnd As Long, Cancel As Boolean)
Call WaitForClose
End Sub
Private Sub Workbook_SheetPivotTableBeforeDiscardChanges(ByVal Sh As Object, ByVal TargetPivotTable As PivotTable, ByVal ValueChangeStart As Long, ByVal ValueChangeEnd As Long)
Call WaitForClose
End Sub
Private Sub Workbook_SheetPivotTableChangeSync(ByVal Sh As Object, ByVal Target As PivotTable)
Call WaitForClose
End Sub
Private Sub Workbook_SheetPivotTableUpdate(ByVal Sh As Object, ByVal Target As PivotTable)
Call WaitForClose
End Sub
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
Call WaitForClose
End Sub
Private Sub Workbook_WindowActivate(ByVal Wn As Window)
Call WaitForClose
End Sub
Private Sub Workbook_WindowDeactivate(ByVal Wn As Window)
Call WaitForClose
End Sub
Private Sub Workbook_WindowResize(ByVal Wn As Window)
Call WaitForClose
End Sub
Private Sub WaitForClose()
On Error Resume Next
Application.OnTime TimeToClose, "'" & Application.ThisWorkbook.Name & "'!" & Application.ThisWorkbook.CodeName & ".CloseThisBook", , False
TimeToClose = Now + TimeSerial(0, MinuteToClose, 0)
Application.OnTime TimeToClose, "'" & Application.ThisWorkbook.Name & "'!" & Application.ThisWorkbook.CodeName & ".CloseThisBook", , True
End Sub
Private Sub CloseThisBook()
On Error Resume Next
ThisWorkbook.Close True
End Sub