application.ontime没有取消或在后台运行

时间:2018-05-10 12:37:16

标签: excel vba ontime

我正在使用Application.Ontime命令在一段时间不活动(10分钟)后自动关闭电子表格。

以下代码似乎总体上起作用,但是,如果您自己手动关闭工作表,工作簿似乎仍然在后台处于活动状态,并且在最后指定的“endtime”将自行打开以便它可以靠近自己。

这在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),以防用户打开其他工作簿但需要尝试停止在后台运行的特定工作簿。

有什么想法吗?

0 个答案:

没有答案