Hallo miteinander,
ich möchte meine Datei nach Zeit X schließen wenn sie nicht benutzt wird.
Es gibt einige Vorschläge dazu, leider passen die aber nicht auf meinen Fall:
viele Grüße
Klaus
ich möchte meine Datei nach Zeit X schließen wenn sie nicht benutzt wird.
Es gibt einige Vorschläge dazu, leider passen die aber nicht auf meinen Fall:
- Das Arbeitsblatt wird über eine Userform gefüttert. Es finden also auf dem Blatt selbst keine Aktivitäten dazu statt. Wird ein Wert in die UF eingetragen erfolgt die Übernahme auf das Arbeitsblatt per Button.
- Erfolgen nach 10Min keine Eingaben mehr in der Eingabe-UF soll eine Anzeige (weitere UF??) kommen, in der ein Countdown zu sehen ist wann die Tabelle ohne speichern geschlossen wird.
- Der Countdown soll per Button deaktiviert werden können und die Zeit soll von vorn anfangen.
- Ist die Eingabe-UF nicht aufgerufen soll der Countdown trotzdem zählen - und nach 10Min Inaktivität den Countdown anzeigen.
Code:
Arbeitsmappe
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Call TimeStop
End Sub
Private Sub Workbook_Open()
Call TimeSetting
End Sub
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Call TimeStop
Call TimeSetting
End Sub
Modul
Dim CloseTime As Date
Sub TimeSetting()
CloseTime = Now + TimeValue("00:10:00")
On Error Resume Next
Application.OnTime EarliestTime:=CloseTime, _
Procedure:="SavedAndClose", Schedule:=True
End Sub
Sub TimeStop()
On Error Resume Next
Application.OnTime EarliestTime:=CloseTime, _
Procedure:="SavedAndClose", Schedule:=False
End Sub
Sub SavedAndClose()
ActiveWorkbook.Close Savechanges:=True
End Sub
- Leider reagiert das so nicht auf eine Bearbeitung des Arbeitsblatt über die Eingabe-UF, da auf dem Tabellenblatt selbst keine Aktivität erfolgt.
- Und mir fehlt die Anzeige und die Unterbrechung des Countdowns in der Countdown-UF.
viele Grüße
Klaus