Я пытаюсь придумать способ закрыть документ excel после периода бездействия. Проблема, с которой я сталкиваюсь, заключается в том, что если excel находится в режиме редактирования, макрос не будет выполняться. Это было бы для книги, которая находится на сервере, доступ к которому имеет несколько человек, проблема в том, что некоторые люди оставляют это открытым и забывают, что у них есть это открытое, и никто другой не может редактировать его, поэтому необходимость в этом.Настройка документа Excel для сохранения и закрытия после периода бездействия
Я создать код VBA макрос, который только закрывает документ первенствовать, пока пользователь не находится в режиме редактирования:
Sub OpenUp()
Dim Start, Finish, TotalTime, TotalTimeInMinutes, TimeInMinutes
Application.DisplayAlerts = True
TimeInMinutes = 1 ' sets timer for 1 minutes
If TimeInMinutes > 1 Then
TotalTimeInMinutes = (TimeInMinutes * 60) - (1 * 60)
' times 60 seconds to "minutize"/convert time from seconds to minutes
Start = Timer ' Sets the start time.
Do While Timer < Start + TotalTimeInMinutes
DoEvents ' Yield to other Excel processes.
Loop
Finish = Timer ' Set end time.
TotalTime = Finish - Start ' Calculate total time.
Application.DisplayAlerts = False
MsgBox "You've had this file open for " & TotalTime/60 & " minutes. You have 1 minute to save all your files before Excel closes"
End If
Start = Timer ' Sets the start time.
Do While Timer < Start + (1 * 60)
DoEvents ' Yield to other Excel processes.
Loop
Finish = Timer ' Set end time.
TotalTime = Finish - Start ' Calculate total time.
Application.DisplayAlerts = False
ThisWorkbook.Save
Application.Quit
End Sub
Я знаю, что этот запрос рода бросает вызов логике, как вы не хотите книгу закрыть, когда кто-то находится в середине редактирования, поэтому вы не можете запускать макрос в режиме редактирования. Но если есть какой-то способ создать какой-то код для сохранения и закрытия книги после того, как пройдет определенный промежуток времени, мне понадобится это в этом случае. Спасибо