Speichern Sie die Arbeitsmappe Sicherung mit VBA in Microsoft Excel
Man sollte die Daten in regelmäßigen Abständen sichern, da jede falsche Änderung durch den anderen Benutzer oder das versehentliche Löschen der Excel-Datei viel Zeit und Informationen verderben kann.
In diesem Artikel wird beschrieben, wie Sie eine Sicherungskopie einer Excel-Datei mit VBA erstellen.
In diesem Artikel werden zwei verschiedene Arten der Sicherung mit VBA-Code behandelt. Wir haben zwei Makros für die Sicherung von Excel-Dateien geschrieben.
Das Makro „SaveWorkbookBackup“ erstellt eine Sicherung der Excel-Datei mit der Erweiterung „.bak“ in demselben Ordner, in dem die aktive Arbeitsmappe gespeichert ist.
Das Makro „SaveWorkbookBackupToFloppy“ erstellt eine Kopie der aktiven Arbeitsmappe in Laufwerk D, die als Sicherungsdatei für die aktive Arbeitsmappe dient.
Code Erklärung
Wenn nicht in Ordnung, dann MsgBox „Sicherungskopie nicht gespeichert!“, VbExclamation, ThisWorkbook.Name End If Above Code wird zum Anzeigen der Fehlermeldung verwendet, wenn während der Ausführung des Makros ein Laufzeitfehler auftritt.
Wenn AWB.Path = „“, dann ‚Dialogfeld „Speichern unter“ zum Speichern von Dateien anzeigen Application.Dialogs (xlDialogSaveAs). Der obige Code wird zum Anzeigen des Dialogfelds „Speichern unter“ verwendet, wenn die Datei vor dem Sichern der Datei nicht gespeichert wird.
Bitte folgen Sie unten für den Code
Option Explicit Sub SaveWorkbookBackup() Dim AWB As Workbook, BackupFileName As String, i As Integer, Ok As Boolean On Error GoTo NotAbleToSave Set AWB = ActiveWorkbook 'Assign full path of file along file name to variable BackupFileName BackupFileName = AWB.FullName 'Checking whether file is saved 'If file is not saved then saving the file If AWB.Path = "" Then 'Displaying Save as dialog box for file saving Application.Dialogs(xlDialogSaveAs).Show Else 'Removing file extension from file name i = 0 While InStr(i + 1, BackupFileName, ".") > 0 'Find the extension of file i = InStr(i + 1, BackupFileName, ".") Wend If i > 0 Then BackupFileName = Left(BackupFileName, i - 1) 'Adding back up extension ".bak" with file name BackupFileName = BackupFileName & ".bak" Ok = False With AWB .Save 'Creating Backup of file .SaveCopyAs BackupFileName Ok = True End With End If NotAbleToSave: 'Code for error handling Set AWB = Nothing If Not Ok Then MsgBox "Backup Copy Not Saved!", vbExclamation, ThisWorkbook.Name End If End Sub Sub SaveWorkbookBackupToFloppy() Dim AWB As Workbook, BackupFileName As String, i As Integer, Ok As Boolean Dim DriveName As String On Error GoTo NotAbleToSave 'Specify the path for making back up in D drive DriveName = "D:\" 'Initializing the variables Set AWB = ActiveWorkbook BackupFileName = AWB.Name Ok = False 'Checking whether file is saved 'If file is not saved then saving the file If AWB.Path = "" Then 'Displaying Save as dialog box for file saving Application.Dialogs(xlDialogSaveAs).Show Else 'Deleting file if backup file already exists If Dir(DriveName & BackupFileName) <> "" Then Kill DriveName & BackupFileName End If With AWB .Save 'Creating the back up file .SaveCopyAs DriveName & BackupFileName Ok = True End With End If NotAbleToSave: 'Code for error handling Set AWB = Nothing If Not Ok Then MsgBox "Backup Copy Not Saved!", vbExclamation, ThisWorkbook.Name End If End Sub
Wenn Ihnen dieser Blog gefallen hat, teilen Sie ihn mit Ihren Freunden auf Facebook und Facebook.
Wir würden gerne von Ihnen hören, lassen Sie uns wissen, wie wir unsere Arbeit verbessern und für Sie verbessern können. Schreiben Sie uns unter [email protected]