13.11.2018, 11:49
Hi,
wenn ich eine Excel-Datei schreibgeschützt öffne, weil in den Optionen beim Speicherfenster die Schreibschutz-Empfehlung angehakt wurde, und nach einer gewissen Zeit die Datei dann geschlossen wird mit den Makros, dann wird immer nach Abspeichern gefragt.
Ich will die Datei speichern, wenn sie nicht schreibgeschützt geöffnet wurde und nicht speichern, wenn sie schreibgeschützt geöffnet wurde.
Wie kann ich das Dilemma lösen?
Microsoft Excel Objekt DieseArbeitsmappe
Modul mdl_Timer
wenn ich eine Excel-Datei schreibgeschützt öffne, weil in den Optionen beim Speicherfenster die Schreibschutz-Empfehlung angehakt wurde, und nach einer gewissen Zeit die Datei dann geschlossen wird mit den Makros, dann wird immer nach Abspeichern gefragt.
Ich will die Datei speichern, wenn sie nicht schreibgeschützt geöffnet wurde und nicht speichern, wenn sie schreibgeschützt geöffnet wurde.
Wie kann ich das Dilemma lösen?
Microsoft Excel Objekt DieseArbeitsmappe
Option Explicit
Private Sub Workbook_Open()
SetTimer 'siehe mdl_Timer
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
KillTimer 'siehe mdl_Timer
End Sub
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
'siehe mdl_Timer
KillTimer
SetTimer
End Sub
Modul mdl_Timer
Option Explicit
Option Private Module
Global sTime As Date
'Datei wird nach 30 Minuten Nichtbenutzung automatisch geschlossen!
'zugehöriger Aufruf in "DieseArbeitsmappe"
Public Sub KillTimer()
On Error Resume Next
Application.OnTime sTime, "closeWb", , False
On Error GoTo 0
End Sub
Public Sub SetTimer()
sTime = Now + TimeValue("00:30:00")
Application.OnTime sTime, "closeWb"
Debug.Print "Excel-File wird geschlossen um: " & sTime
End Sub
Public Sub closeWb()
ThisWorkbook.Close True 'True, wenn beim Schließen gespeichert werden soll, False wenn nicht
End Sub