Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Sicherheitscopy mit Datum speichern

Sicherheitscopy mit Datum speichern
marion
Hallo,
ich komme nicht mehr weiter.
Bitte um Hilfe.
Ich möchte vor abspeichern einer Datei eine Sicherheitscopy erstellen.
Dabei sollte die "letzte Sicherheitscopy" umbenannt werden, so das ich immer die letzten zwei Änderungen
als Sicherheitscopy gespeichert habe.
Gespeichert wird "Copy2 ............... Datum und Uhrzeit:
ActiveWorkbook.SaveCopyAs Filename:=Phad & "\Copy2 " & Datei & " " & Format(Now, "DD.MM.YYYY-HH.MM.SS") & " Uhr.xls"
Damit ich immer die letzten zwei Änderungen habe war mein Gedanke....
Sicherheitscopy, Copy1... löschen, Copy2..... umbenennen in Copy1......, Copy2....... speichern.
Leider bekomme ich das umbenennen der Copy2..... Datei nicht hin da sich der Dateiname ja immer mit dem
Datumsanhang ändert.
Hier mal mein Ansatz
https://www.herber.de/bbs/user/69528.xls
Danke für jede Hilfe
marion
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Sicherheitscopy mit Datum speichern
11.05.2010 00:49:45
fcs
Hallo Marion,
man muss dann nach der Copy2 suchen, um ihren vollständigen Namen zu erhalten. Danach kann dann die Datei umbenannt werden.
Außerdem empfehle ich das Datum im Dateinamen nicht mit Punkten zu schreiben. Es gib gelegentlich Funktionen, die mit zusätzlichen Punkten im Dateinamen Probleme haben zumindest historisch.
Gruß
Franz
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim Datei As String
Dim Pfad As String, strCopy2 As String, strCopy1 As String
Datei = Left(ThisWorkbook.Name, Len(ThisWorkbook.Name) - 4)
Pfad = ThisWorkbook.Path & "\Urlaub-Copy"
'Kopie-Verzeichnis erstellen wenn nicht vorhanden
If Dir(Pfad, vbDirectory) = "" Then
VBA.MkDir Pfad
End If
'Prüfen, ob Copy1 vorhanden
strCopy1 = Dir(Pfad & "\Copy1 " & Datei & "*.xls")
'ggf. vorhandene Copy1 löschen
If strCopy1  "" Then Kill Pfad & "\" & strCopy1
'Copy2 suchen
strCopy2 = Dir(Pfad & "\Copy2 " & Datei & "*.xls")
If strCopy2  "" Then
strCopy2 = Pfad & "\" & strCopy2
'Dateiname für neue Copy1 ermitteln
strCopy1 = Replace(strCopy2, "Copy2", "Copy1")
'Alte Copy2 in Copy1 umbenennen
Name strCopy2 As strCopy1
End If
'neue Copy2 erstellen
ActiveWorkbook.SaveCopyAs Filename:=Pfad & "\Copy2 " & Datei & " " _
& Format(Now, "YYYY-MM-DD hh_mm_ss") & " Uhr.xls"
End Sub

Anzeige
Danke Franz, klappt wunderbar
11.05.2010 15:52:48
marion
:)
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige