Shranite varnostno kopijo delovnega zvezka z uporabo VBA v programu Microsoft Excel

Kazalo

V rednih časovnih presledkih je treba varnostno kopirati podatke, saj lahko vsaka napačna sprememba drugega uporabnika ali nenamerno brisanje datoteke excel pokvari veliko časa in informacij.

V tem članku bomo obravnavali, kako narediti varnostno kopijo Excelove datoteke z uporabo VBA.

V tem članku bomo obravnavali dva različna načina varnostnega kopiranja s kodo VBA. Za varnostno kopiranje Excelove datoteke smo napisali dva makra.

Makro »SaveWorkbookBackup« bo ustvaril varnostno kopijo Excelove datoteke z razširitvijo ».bak« v isti mapi, kjer je shranjen aktivni delovni zvezek.

Makro »SaveWorkbookBackupToFloppy« bo ustvaril kopijo aktivnega delovnega zvezka v pogonu D, ki bo deloval kot varnostna datoteka aktivnega delovnega zvezka.

Razlaga kode

Če ni v redu, potem

MsgBox "Varnostna kopija ni shranjena!", VbExclamation, ThisWorkbook.Name

Konec Če

Zgornja koda se uporablja za prikaz sporočila o napaki, ko se med izvajanjem makra pojavi nekaj napak pri izvajanju.

Če je AWB.Path = "" Potem

'Prikaz pogovornega okna Shrani kot za shranjevanje datotek

Aplikacija.Dialogi (xlDialogSaveAs) .Prikaži

Zgornja koda se uporablja za prikaz pogovornega okna Shrani kot, če datoteka ni shranjena, preden naredite varnostno kopijo datoteke.

Za kodo sledite spodaj

 Možnost Eksplicitno Sub SaveWorkbookBackup () Zatemni AWB kot delovni zvezek, BackupFileName kot niz, i kot celo število, ok kot logično napako pri napaki GoTo NotAbleToSave Set AWB = ActiveWorkbook 'Dodeli celotno pot datoteke skupaj z imenom datoteke spremenljivki BackupFileName BackupFileName = AWB datoteka je shranjena 'Če datoteka ni shranjena, shranite datoteko If AWB.Path = "" Potem "Prikaz pogovornega okna Shrani kot za shranjevanje datotek Application.Dialogs (xlDialogSaveAs). Show Else" Odstranjevanje razširitve datoteke iz imena datoteke i = 0 Medtem ko InStr (i + 1, BackupFileName, ".")> 0 'Poišči razširitev datoteke i = InStr (i + 1, BackupFileName, ".") Wend If i> 0 Potem BackupFileName = Left (BackupFileName, i - 1) 'Dodajanje varnostne kopije razširitve ".bak" z imenom datoteke BackupFileName = BackupFileName & ".bak" Ok = False With AWB .Save' Ustvarjanje varnostne kopije datoteke .SaveCopyAs BackupFileName Ok = True End With End If NotAbleToSave: 'Koda za obravnavo napak Nastavitev AWB = Če ni v redu, potem MsgBox "Varnostna kopija ni shranjena!", VbExclamation, ThisWork book.Name End If End Sub Sub SaveWorkbookBackupToFloppy () Dim AWB kot delovni zvezek, BackupFileName As String, i As Integer, Ok As Boolean Dim DriveName As String On Error GoTo NotAbleToSave 'Določite pot za varnostno kopiranje v pogonu D DriveName = "D : \ "'Inicializiranje spremenljivk Nastavite AWB = ActiveWorkbook BackupFileName = AWB.Name Ok = False' Preverjanje, ali je datoteka shranjena 'Če datoteka ni shranjena, shranite datoteko If AWB.Path =" "Potem' Prikaz pogovornega okna Shrani kot shranjevanje datotek Application.Dialogs (xlDialogSaveAs) .Show Else 'Brisanje datoteke, če datoteka varnostne kopije že obstaja, če Dir (DriveName & BackupFileName) "" Nato Kill DriveName & BackupFileName End If With AWB .Save "Ustvarjanje varnostne kopije datoteke .SaveCopyAs DriveName Ok = True End with End If NotAbleToSave: 'Koda za obravnavo napak Nastavi AWB = Nič, če ni v redu Potem MsgBox "Varnostna kopija ni shranjena!", VbExclamation, ThisWorkbook.Name End If End Sub 

Če vam je bil ta blog všeč, ga delite s prijatelji na Facebooku. Prav tako nam lahko sledite na Twitterju in Facebooku.

Radi bi slišali od vas, nam sporočite, kako lahko izboljšamo svoje delo in ga izboljšamo za vas. Pišite nam na spletnem mestu e -pošte

Vam bo pomagal razvoj spletnega mesta, ki si delijo stran s svojimi prijatelji

wave wave wave wave wave