Man bør ta sikkerhetskopi av dataene med jevne mellomrom da enhver feil modifikasjon fra den andre brukeren eller ved et uhell sletting av excel -filen kan ødelegge mye tid og informasjon.
I denne artikkelen vil vi dekke hvordan du tar sikkerhetskopi av Excel -filer ved hjelp av VBA.
I denne artikkelen vil vi dekke to forskjellige måter å ta sikkerhetskopi ved hjelp av VBA -kode. Vi har skrevet to makroer for å ta sikkerhetskopi av Excel -filen.
Makroen "SaveWorkbookBackup" vil lage en sikkerhetskopi av Excel -filen med ".bak" -utvidelsen i den samme mappen der aktiv arbeidsbok er lagret.
Makroen "SaveWorkbookBackupToFloppy" vil opprette en kopi av aktiv arbeidsbok i stasjon D som vil fungere som sikkerhetskopifil for den aktive arbeidsboken.
Kode forklaring
Hvis ikke ok da
MsgBox "Sikkerhetskopi ikke lagret!", VbExclamation, ThisWorkbook.Name
Slutt om
Koden ovenfor brukes til å vise feilmelding, når det oppstår noen kjøretidsfeil under utførelsen av makroen.
Hvis AWB.Path = "" Da
'Viser Lagre som dialogboks for lagring av filer
Application.Dialogs (xlDialogSaveAs) .Vis
Koden ovenfor brukes til å vise dialogboksen Lagre som, hvis filen ikke lagres før du tar sikkerhetskopien av filen.
Følg koden nedenfor
Option Explicit Sub SaveWorkbookBackup () Dim AWB As Workbook, BackupFileName As String, i As Integer, Ok As Boolean On Error GoTo NotAbleToSave Set AWB = ActiveWorkbook 'Tilordne hele filbanen langs filnavnet til variabelen BackupFileName BackupFileName = AWB.FullName' Kontrollerer om filen er lagret 'Hvis filen ikke er lagret, lagres filen Hvis AWB.Path = "" Deretter' Viser Lagre som dialogboks for filsparing Application.Dialogs (xlDialogSaveAs) .Show Else 'Fjerner filtypen fra filnavn i = 0 Mens InStr (i + 1, BackupFileName, ".")> 0 'Finn filtypen i = InStr (i + 1, BackupFileName, ".") Wend If i> 0 Then BackupFileName = Left (BackupFileName, i - 1) 'Legger til sikkerhetskopiforlengelse ".bak" med filnavn BackupFileName = BackupFileName & ".bak" Ok = False With AWB .Save' Opprett sikkerhetskopi av fil .SaveCopyAs BackupFileName Ok = True End With End If NotAbleToSave: 'Kode for feilhåndtering Sett AWB = Ingenting hvis ikke ok, så er MsgBox "Sikkerhetskopi ikke lagret!", VbExclamation, ThisWork book.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 'Spesifiser banen for sikkerhetskopiering i D -stasjon DriveName = "D : \ "'Initialiserer variablene Angi AWB = ActiveWorkbook BackupFileName = AWB.Name Ok = Falsk' Kontroller om filen er lagret 'Hvis filen ikke er lagret, lagrer filen Hvis AWB.Path =" "Deretter' Viser Lagre som dialogboks for filsparing Application.Dialogs (xlDialogSaveAs) .Show Else 'Slette fil hvis sikkerhetskopifilen allerede eksisterer Hvis Dir (DriveName & BackupFileName) "" Så Kill DriveName & BackupFileName End If With AWB .Save' Opprette sikkerhetskopifilen .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
Hvis du likte denne bloggen, del den med vennene dine på Facebook. Du kan også følge oss på Twitter og Facebook.
Vi vil gjerne høre fra deg, gi oss beskjed om hvordan vi kan forbedre arbeidet vårt og gjøre det bedre for deg. Skriv til oss på e -post