У меня есть странная проблема с макросом, который я собрал для работы.Excel Macro заставляет файл повторно открывать
Backstory, я в основном разработал макрос, чтобы закрыть защищенные книги после того, как он оставлен открытым после 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 ячейки (далеко, так что никто ее не видит) и выхода без сохранения.
Может ли кто-нибудь мне помочь? Спасибо
Кто-нибудь знает, как проверить, что происходит после закрытия файла? Я пытаюсь найти точки останова, но они удаляются после закрытия файла, поэтому я не знаю, что произойдет после его закрытия. – ProjectPokket