我正在使用 Application.Ontime 命令在一段时间不活动(10 分钟)后自动关闭电子表格。
以下代码似乎可以正常工作,但是,如果您自己手动关闭工作表,工作簿似乎仍然在后台处于活动状态,并且在最后指定的“结束时间”将自行打开,以便它可以自行关闭。
这在 VBA 代码窗口中也很明显,因为在 CloseWB 宏运行并且 excel 工作簿似乎已关闭后,它仍列在 VBA 项目资源管理器窗口中。
Sub RunTime()
Static EndTime
If Not EndTime = "" Then ActiveWorkbook.Application.OnTime EndTime, "CloseWB", , False
EndTime = Now + TimeValue("00:10:00")
ActiveWorkbook.Application.OnTime EndTime, "CloseWB", , True
End Sub
Sub CloseWB()
Application.DisplayAlerts = False
With ThisWorkbook
.Save
.Close
End With
End Sub
我不想完全关闭 excel (application.quit),以防用户打开其他工作簿但需要尝试停止在后台运行的特定工作簿。
有任何想法吗?