Private Sub Workbook_Open()
Dim ot As Date '定义旧时间数据类型变量
Dim nt As Date '定义最新时间数据类型变量
ot = Time '获取现在时间(老)
Do
DoEvents
nt = Time '获取现在时间(新)
If DateDiff("s", ot, nt) = 30 Then
'比较时间,既已经过去的时间,这里是30秒即0.5分钟
ot = nt
nt = Empty '还原时间变量(循环)
ThisWorkbook.Close (0) '条件成立保存并关闭excel
End If
Loop
End Sub