Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1156to1160
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

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

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
:)

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige