複数のユーザーがワークブックにアクセスする必要がある状況があります (すべての問題により、[ワークブックの共有] オプションの使用を避けたい)。これに対する可能な解決策は、非アクティブ状態が 15 分間続いた後にブックを自動的に閉じることであると判断しました。
また、「OK」ボタンをクリックしないとワークブックが閉じられることをユーザーに警告するメッセージを 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