Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1584to1588
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Sicherungskopie einmal täglich

Sicherungskopie einmal täglich
20.10.2017 13:12:36
Max
Hallo ihr Experten!
Ich habe ein Makro geschrieben, welches eine Sicherungskopie erstellt.
Da in der Datei 5 Leute arbeiten, würde ja die Sicherungskopie mit meinem Makro 4 x am Tag überschrieben werden.
Anbei das Makro:
Private Sub Workbook_Open()
MsgBox "Herzlich Willkommen zum Infotool 2.0.", vbOKOnly + vbInformation, "Infotool 2.0"
ActiveWorkbook.SaveCopyAs Filename:= _
("O:\DE-O-03\CTS_M\CTS_M_Production\01_AbwHG\AbwHG_06\Briefl._Matching\Infotool 2.0\ _
Sicherungskopien\" & "Sicherung  " & Format(Now, "dd-MM-yyyy") & ".xlsm")
End Sub
Ziel meines Makros ist es, dass beim ersten öffnen am Tag eine Sicherungskopie erstellt wird und keine weiteren.
Weiterhin soll automatisch die Sicherungskopie von vor eine Woche (also heute-7) gelöscht werden.
Kann man das Makro dahingehend erweitern oder ist das prinzipiell nicht möglich?
Danke euch.
MAX

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Sicherungskopie einmal täglich
20.10.2017 13:23:30
Peter(silie)
Hallo,
müsste so klappen:
Private Sub Workbook_Open()
Dim name_ As String
Dim name_old As String
Dim today As String
Dim lastWeek As String
today = Format(Date, "dd-MM-yyyy")
lastWeek = Format((Date - 7), "dd-MM-yyyy")
name_ = "O:\DE-O-03\CTS_M\CTS_M_Production\01_AbwHG\AbwHG_06\Briefl._Matching\Infotool 2.0\" _
& _
"Sicherungskopien\Sicherung  " & today & ".xlsm"
If File_Exists(name_) Then Exit Sub
ActiveWorkbook.SaveCopyAs Filename:=name_
name_old = "O:\DE-O-03\CTS_M\CTS_M_Production\01_AbwHG\AbwHG_06\Briefl._Matching\Infotool 2. _
0\" & _
"Sicherungskopien\Sicherung  " & lastWeek & ".xlsm"
If File_Exists(name_old) Then Kill name_old
End Sub
Public Function File_Exists(ByVal File_Path As String) As Boolean
If Dir(File_Path, vbDirectory)  vbNullString Then File_Exists = True
End Function

Anzeige
AW: Sicherungskopie einmal täglich
20.10.2017 13:55:37
Max
Hi,
Danke für deine Antwort.
leider bekomme ich in der Passage einen Synthaxfehler:
name_old = "O:\DE-O-03\CTS_M\CTS_M_Production\01_AbwHG\AbwHG_06\Briefl._Matching\Infotool 2. _
0\" & _
"Sicherungskopien\Sicherung " & lastWeek & ".xlsm"
If File_Exists(name_old) Then Kill name_old
Woran kann das liegen?
Danke.
Max
AW: Sicherungskopie einmal täglich
20.10.2017 14:18:06
Peter(silie)
Hallo,
das liegt daran dass diese Webseite einem die Code Formatierung gerne ruiniert,
kopier dir mal den Code rein:
Private Sub Workbook_Open()
Dim defaultName, name_new, name_old As String
Dim today, lastWeek As String
today = Format(Date, "dd-MM-yyyy")
lastWeek = Format((Date - 7), "dd-MM-yyyy")
defaultName = "O:\DE-O-03\CTS_M\CTS_M_Production\" & _
"01_AbwHG\AbwHG_06\Briefl._Matching\Infotool 2.0\" & _
"Sicherungskopien\Sicherung "
name_new = defaultName & today & ".xlsm"
name_old = defaultName & lastWeek & ".xlsm"
If File_Exists(name_new) Then Exit Sub
ActiveWorkbook.SaveCopyAs Filename:=name_new
If File_Exists(name_old) Then Kill name_old
End Sub
Public Function File_Exists(ByVal File_Path As String) As Boolean
If Dir(File_Path, vbDirectory)  vbNullString Then File_Exists = True
End Function

Anzeige
AW: Sicherungskopie einmal täglich
20.10.2017 14:40:38
Max
Perfekt! Das funktioniert super!
Danke dir.
vg
Max
Schematisch
20.10.2017 13:27:49
Michael
Hallo Max,
...zuerst prüfen ob eine entsprechende Datei existiert, wenn nicht speichern und die entsprechend alte Datei löschen:
    Dim Pfad$, Datei$
Pfad = "O:\DE-O-03\CTS_M\CTS_M_Production\01_AbwHG\AbwHG_06\" & _
"Briefl._Matching\Infotool 2.0\Sicherungskopien\"
Datei = "Sicherung  " & Format(Now, "dd-MM-yyyy") & ".xlsm"
If Dir(Pfad & Datei) = "" Then
ActiveWorkbook.SaveAs '...
Datei = "Sicherung  " & Format(Now - 7, "dd-MM-yyyy") & ".xlsm"
Kill Pfad & Datei
End If
LG
Michael
Anzeige
AW: Schematisch
20.10.2017 13:56:28
Max
Hallo,
danke für deine Nachricht.
leider löscht die Formel nicht die Datei von letzter Woche. Woran kann das liegen?
Danke.
Max
AW: Schematisch
20.10.2017 14:07:33
Max
Eventuell noch eine Ergänzung.
Wenn der Dateiname "heute-7" ist, dann lösche diesen und speichere eine neue Sicherung.
Zum Beispiel:
heute speichertr er die Datei mit dem Namen "Sicherung 20-10-2017" und soll die Datei "Sicherung 13-10-2017" löschen.
Hoffe es verdeutlicht ein wenig was ich benötige.
Danke.
Max
AW: Schematisch
20.10.2017 14:17:57
Michael
Hallo!
Woran kann das liegen
An Deinen Pfaden oder Dateinamen.
In meinem Code wird der zu löschende Dateiname, bezogen auf Dein Beispiel, korrekt zu diesem String zusammengefügt: "Sicherung 13-10-2017.xlsm". Allerdings sind zwischen "Sicherung" und dem Datum zwei Leerzeichen (" "), die ich aus Deinem Code übernommen habe - ggf. war das bisher nicht so.
Deshalb "schematisch" - Du musst ggf. noch ein paar Anpassungen vornehmen, bezogen auf Deine Gegebenheiten.
LG
Michael
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige