In the ThisWorkbook code module, add
Private Sub Workbook_Open()
nElapsed = TimeSerial(0, 5, 0) '5 minutes
'start a timer to countdown inactivity
nTime = Now + nElapsed
Application.OnTime nTime, "Countdown"
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
On Error Resume Next
Application.ontime EarliestTime:=nTime, Procedure:="Countdown", Schedule:=False
End Sub
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
'any workbook activity resets the timer
Application.OnTime nTime, "Countdown", , False
nTime = Now + nElapsed
Application.OnTime nTime, "Countdown"
End Sub
In a standard code module add
Option Explicit
Public nElapsed As Double
Public nTime As Double
Public Sub Countdown()
ThisWorkbook.Save
ThisWorkbook.Close
End Sub