04.04.2022, 15:39
Hallo,
habe eine Datei die sich automatisch schliesst nach 2 Minuten, dazu habe ich einen Countdown-Timer eingebaut der von 2 Minuten rückwärts zählt. (Dazu lasse ich in A1 einen Zeitstempel beim Öffnen setzen, B2 berechnet A1 + 2 Minuten und in C1 steht die aktuelle Zeit minus dem Zeitstempel in A1. D1 = Minute (B1-C1) + E1= SEKUNDE (B1-C1) => in D1 + E1 läuft dann der Countdown rückwärts.
Es funktioniert, allerdings schliesst sich die Datei nach 2 Minuten und versucht sich sofort wieder zu öffnen (Anmeldefenster kommt wegen Schreibschutz). Natürlich sollte sich die Datei nicht wieder öffnen.
Könnt ihr mir sagen wo mein Fehler liegt?
Danke Euch.
Hier mein Arbeitsblatt:
Private Sub Workbook_Open()
Call Datum
Call Countdown
If ThisWorkbook.ReadOnly = False Then
Application.OnTime Now + TimeValue("00:00:20"), "close_doc"
End If
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
If Me.ReadOnly Then Me.Saved = True
End Sub
und mein Modul:
Sub Datum()
Tabelle1.Range("A1").Value = Time
End Sub
Sub Countdown()
NextTime = Now + TimeValue("00:00:01")
Application.OnTime NextTime, "Countdown"
ActiveSheet.Calculate
End Sub
Sub close_doc()
ThisWorkbook.Save
ThisWorkbook.Close (True)
End Sub
habe eine Datei die sich automatisch schliesst nach 2 Minuten, dazu habe ich einen Countdown-Timer eingebaut der von 2 Minuten rückwärts zählt. (Dazu lasse ich in A1 einen Zeitstempel beim Öffnen setzen, B2 berechnet A1 + 2 Minuten und in C1 steht die aktuelle Zeit minus dem Zeitstempel in A1. D1 = Minute (B1-C1) + E1= SEKUNDE (B1-C1) => in D1 + E1 läuft dann der Countdown rückwärts.
Es funktioniert, allerdings schliesst sich die Datei nach 2 Minuten und versucht sich sofort wieder zu öffnen (Anmeldefenster kommt wegen Schreibschutz). Natürlich sollte sich die Datei nicht wieder öffnen.
Könnt ihr mir sagen wo mein Fehler liegt?
Danke Euch.
Hier mein Arbeitsblatt:
Private Sub Workbook_Open()
Call Datum
Call Countdown
If ThisWorkbook.ReadOnly = False Then
Application.OnTime Now + TimeValue("00:00:20"), "close_doc"
End If
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
If Me.ReadOnly Then Me.Saved = True
End Sub
und mein Modul:
Sub Datum()
Tabelle1.Range("A1").Value = Time
End Sub
Sub Countdown()
NextTime = Now + TimeValue("00:00:01")
Application.OnTime NextTime, "Countdown"
ActiveSheet.Calculate
End Sub
Sub close_doc()
ThisWorkbook.Save
ThisWorkbook.Close (True)
End Sub