Arbeitsmappe doppelt sichern in zwei unterschiedliche Pfade

Das Makro ermöglicht, die Orginalarbeitsmappe zu speichern und eine Sicherheitskopie in einem anderen Laufwerk bzw. Verzeichnis zu erstellen.

Achtung:
Das Makro durchläuft mehrere Schritte:

  • Speichern und schließen der Orginalarbeitsmappe
  • Speichern und öffnen der Sicherheitskopie. Hier ist der Knackpunkt. Stoppt das Makro hier, wird mit der Kopie anstatt dem Orginal gearbeitet
  • Mit Hilfe des Call-Befehls wird die Orginalarbeitsmappe wieder geöffnet
  • Die Sicherheitskopie wird geschlossen.

Code

Sub DateiDoppeltSpeichern()

'
' Das Makro ermöglicht es, die Orginalarbeitsmappe zu speichern und eine Sicherheitskopie in einem anderen Laufwerk bzw. Verzeichnis zu erstellen.
'
'
' legt eine Sicherheitskopie der Arbeitsmappe in einem anderen Verzeichnis an
' Die Variablen lw, lw2, pfad, pfad2 sind entsprechend zu ändern
' Der Name der Sicherheitskopie wird hier "Kopie = "Arbeitsmappe_" & s_Datum & "_" & Format(s_Zeit, "hhmm") & ".xlsm" " festgelegt und ist entsprechend zu ändern
'
Dim strOrginal As String    ' Bezeichnung der Orginaldatei
Dim strKopie As String      ' Bezeichnung der Kopie
Dim str_Datum As String
Dim str_Zeit As String
Dim i As Integer

Const lw = "e:"            ' Laufwerk der Orginaldatei
Const lw2 = "e:"           ' Laufwerk der Sicherungskopie
Const pfad = "E:\Sicherung"         ' Pfad zur Orginaldatei
Const Pfad2 = "E:\Sicherung\test"   ' Pfad zur Kopie

' Will man die Dateibenennung mit Datum und Uhrzeit vornehmen, dann ist ein Zwischenschritt notwendig. Die Uhrzeit wird mit Doppelpunkten (:) ausgegeben.
' Diese Zeichen sind in der Dateibenennung aber nicht erlaubt.
str_Datum = Date            ' Orndet dem string das Datum zu
str_Zeit = Time             ' Orndet dem string das Zeit zu

strOrginal = ActiveWorkbook.Name ' Name der Orginaldatei wird festgelegt
strKopie = "Arbeitsmappe_" & str_Datum & "_" & Format(str_Zeit, "hhmm") & ".xlsm" ' Name der Sicherungskopie wird festgelegt.

On Error GoTo fehler

' Orginaldatei wird gespeichert
ChDrive lw
ChDir pfad
With ActiveWorkbook
.SaveAs Filename:=strOrginal, FileFormat:=xlOpenXMLWorkbookMacroEnabled, Password:="", writerespassword:="", ReadOnlyRecommended:=False, CreateBackup:=False
End With

' Sicherungsdatei wird gespeichert
ChDrive lw2
ChDir Pfad2
'ActiveWorkbook.SaveAs "Test_Arbeitsmappe_" & s_Datum & "_" & Format(s_Zeit, "hhmm") & ".xlsm", ReadOnlyRecommended:=True
With ActiveWorkbook
.SaveAs Filename:=strKopie, FileFormat:=xlOpenXMLWorkbookMacroEnabled, Password:="", writerespassword:="", ReadOnlyRecommended:=False, CreateBackup:=True
'.Close
End With

' Achtung nachdem alle SIcherung erfolgreich erstellt wurden, ist die SICHERUNGSKOPIE geöffnet. Die ORGINALDATEI wurde geschlossen.
' Die Orginalarbeitsmappe wird geöffnet
Call ArbeitsmappeÖffnen

' Schließt die Sicherungskopie, so dass nur die Orginalarbeitsmappe geöffnet bleibt
Workbooks(strKopie).Close

Exit Sub

' Dialog bei Fehlern während des Speicherns
fehler:
MsgBox "Laufwerk/Verzeichnis nicht gefunden!" & vbCr & "Das Speichern wurde abgebrochen"


End Sub

Private Sub ArbeitsmappeÖffnen()
Const lw = "E:"
Const pfad = "E:\Sicherung"
Const datei = "20101124_Test.xlsm"

    ChDrive lw
    ChDir pfad
    
    On Error Resume Next
    Workbooks.Open datei
End Sub

Achtung

DIe Sicherungsdatei wird in diesem Beispiel ebenfalls im XLSM-Format abgespeichert. Die Datei enthält also die gleichen Makros wie die Orginaldatei. U.U. ist es jedoch sinnvoll, dass die Kopie der Arbeitsmappe für die weitere Bearbeitung keine Makros enthält, da die Funktionen dort nicht gebraucht werden. Für diesen Fall muss die Arbeitsmappe in einem Excel-Format gespeichert werden, dass keine Makros unterstützt. Man greift also auf das Datei-Format XLSX zurück.
Für den Code bedeutet das lediglich eine kleine Änderung. Die sieht aus wie folgt:

...
strKopie = "Test_Arbeitsmappe_" & str_Datum & "_" & Format(str_Zeit, "hhmm") & ".xlsx"
...
.SaveAs Filename:=strKopie, FileFormat:=xlNormal, Password:="", writerespassword:="", ReadOnlyRecommended:=False, CreateBackup:=True
...


Alle Datei-Formate, die ab Excel 2007 unterstützt werden, können auf der Hilfe-Seite von Microsoft abgerufen werden ➡ office.microsoft.com.

Bestseller Nr. 1

(**) Produktpreise und -verfügbarkeit sind zum angegebenen Datum / Uhrzeit korrekt und können sich ändern. Alle Preis- und Verfügbarkeitsinformationen auf https://www.amazon.de/ zum Zeitpunkt des Kaufs gelten für den Kauf dieses Produkts.

Eine Antwort auf „Arbeitsmappe doppelt sichern in zwei unterschiedliche Pfade“

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.