Hallo Forum,
ich habe praktisch keine VBA Erfahrung und habe mir einen kleinen Code zusammengebaut.
Folgendes Problem:
Eine passwortgeschütze Arbeitsmappe "Master" wird geöffnet und soll alle 5 Minuten automatisch gespeichert werden.
Das funktioniert mit folgendem Code:
Diese Arbeitsmappe---------------------------------------------------------------------------------------------------------------
Option Explicit
Private Sub Workbook_Open()
Sheets("Master1").Protect UserInterfaceOnly:=True, Password:="mein schreibschutz Passwort"
Sheets("Master1").EnableOutlining = True ' Für Gliederung
Sheets("Master1").EnableAutoFilter = True ' Für AutoFilter
Call AutoSpeichernEinschalten
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Call AutoSpeichernAusschalten
End Sub
-----------------------------------------------------------------------------------------------------------------------------------------
Modul1-------------------------------------------------------------------------------------------------------------------------------
Option Explicit
Dim ZeitZuSpeichern As Date
Sub Speichern()
ThisWorkbook.Save
Call AutoSpeichernEinschalten
End Sub
Sub AutoSpeichernEinschalten()
ZeitZuSpeichern = Now + TimeSerial(0, 5, 0) 'hier Intervall einstellen (h, m, s)
Application.OnTime ZeitZuSpeichern, "Speichern"
End Sub
Sub AutoSpeichernAusschalten()
On Error Resume Next
Application.OnTime ZeitZuSpeichern, "Speichern", , False
End Sub
-----------------------------------------------------------------------------------------------------------------------------------------
Jetzt zum Problem:
Wenn die Arbeitsmappe schreibgeschützgeöffnet wird, versucht er sie aber dennoch zu speichern dies geht natürich dann nicht und es kommt zu einem Laufzeitfehler.
Was muss ich in meinem Code verändern damit das automatische speichern nur ausgeführt wird wenn man nicht im schreibschutz ist?
Für eure Mühe vieln Dank.
Gruß Timo
|