我遇到多个用户需要访问一个工作簿的情况(由于所有问题,希望避免使用“共享工作簿”选项)。我已经确定一个可能的解决方案是让工作簿在 15 分钟不活动后自动关闭。
我还希望在 15 分钟后弹出一条消息,提醒用户除非他们单击“确定”按钮,否则工作簿将关闭。如果他们点击按钮,我希望计数器重新开始,理想情况下,如果他们不点击任何东西,工作簿将在再过 1 分钟后自动关闭。
我在网上找到了一些我用过的代码。工作簿在指定时间后成功关闭,但我不知道如何弹出消息框。将不胜感激任何帮助,谢谢!
我使用的代码如下:
在模块 1 中:
Dim DownTime As Date
Sub SetTimer()
DownTime = Now + TimeValue("0:15:00")
Application.OnTime EarliestTime:=DownTime, _
Procedure = "ShutDown", Schedule:=True
End Sub
Sub StopTimer()
On Error Resume Next
Application.OnTime EarliestTime:=DownTime, _
Procedure:="ShutDown", Schedule:=False
End Sub
Sub ShutDown()
Application.DisplayAlerts = False
With ThisWorkbook
.Saved = True
.Close
End With
End Sub
在 ThisWorkbook 中:
Private Sub Workbook_Open()
Call SetTimer
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Call StopTimer
End Sub
Private Sub Workbook_SheetCalculate(ByVal Sh As Object)
Call StopTimer
Call SetTimer
End Sub
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, _
ByVal Target As Excel.Range)
Call StopTimer
Call SetTimer
End Sub