仕事のためにまとめたマクロに奇妙な問題があります。
裏話として、私は基本的に、X時間後に開いたままにした後、保護されたブックを閉じるマクロを設計しました。それは共有ドキュメントであり、人々がそれを開くとき、彼らはしばしばドキュメントを閉じるのを忘れて、他の人がそれを使用できないようにそれをロックします。
そこで、タイマーを作成するために他のマクロの断片を取りました。
Sub Start_Timer()
'BASIC UP COUNTER
Application.OnTime Now() + TimeValue("00:00:01"), "CheckStatus"
End Sub
Sub CheckStatus()
Dim ws As Worksheet
For Each ws In Worksheets
If ws.Range("IV1").Value > 60 Then
'IF IDLE LONGER THAN VALUE ABOVE, RUN THE FOLLOWING
Application.DisplayAlerts = False 'WORKS TO DISABLE ALERT PROMPT
ThisWorkbook.Close (False) 'CLOSE FILE WITHOUT SAVING
Application.Quit
Application.DisplayAlerts = True 'RESETS DISPLAY ALERTS
End Sub
Else
'ADD 1 TO COUNTER
ws.Range("IV1").Value = ws.Range("IV1").Value + 1
End If
Next
Start_Timer
End Sub
ThisWorkbookで
Private Sub Workbook_Open()
Dim ws As Worksheet
MsgBox ("This Worksheet has a 15 min timer")
Start_Timer
For Each ws In Worksheets
'Columns("IV:IV").Hidden = True
ws.Range("IV1").Value = 1
Next
End Sub
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
Dim ws As Worksheet
For Each ws In Worksheets
ts.Range("IV1").Value = 1
Next
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.DisplayAlerts = False 'WORKS TO DISABLE ALERT PROMPT
ThisWorkbook.Close (False) 'CLOSE FILE WITHOUT SAVING
Application.Quit
Application.DisplayAlerts = True 'RESETS DISPLAY ALERTS
End Sub
ほとんどの場合、それは機能します。しかし、私はむしろ「Application.Quit」のようなものを排除したいと思います。私が抱えている問題は、その行を削除すると、手動で閉じた後、または手動でExcelを終了しようとした後、ワークブックがすぐに再度開くことです。
1つのセルの値を絶えず変更し(遠く離れているため、誰にも表示されない)、保存せずに終了する必要があると思います。
誰か助けてもらえますか?ありがとう