Spremite sigurnosnu kopiju radne knjige pomoću VBA u programu Microsoft Excel

Anonim

Treba praviti sigurnosne kopije podataka u redovitim vremenskim intervalima jer svaka pogrešna izmjena drugog korisnika ili slučajno brisanje excel datoteke može pokvariti puno vremena i informacija.

U ovom članku pokazat ćemo kako sigurnosno kopirati Excel datoteku pomoću VBA.

U ovom ćemo članku pokriti dva različita načina izrade sigurnosne kopije pomoću VBA koda. Napisali smo dvije makronaredbe za izradu sigurnosne kopije Excel datoteke.

Makronaredba "SaveWorkbookBackup" stvorit će sigurnosnu kopiju Excel datoteke s nastavkom ".bak" unutar iste mape u kojoj je spremljena aktivna radna knjiga.

Makronaredba "SaveWorkbookBackupToFloppy" stvorit će kopiju aktivne radne knjige u pogonu D koja će djelovati kao datoteka sigurnosne kopije za aktivnu radnu knjigu.

Objašnjenje koda

Ako nije u redu onda

MsgBox "Sigurnosna kopija nije spremljena!", VbExclamation, ThisWorkbook.Name

Završi ako

Gornji kôd koristi se za prikaz poruke o pogrešci, kada se tijekom izvršavanja makronaredbe pojavi neka greška u radu.

Ako je AWB.Path = "" Tada

'Prikaz dijaloškog okvira Spremi kao za spremanje datoteke

Primjena.Dijalozi (xlDialogSaveAs) .Prikaži

Gornji kôd koristi se za prikaz dijaloškog okvira Spremi kao, ako datoteka nije spremljena prije izrade sigurnosne kopije datoteke.

Molimo slijedite dolje za kôd

 Opcija Eksplicitno Sub SaveWorkbookBackup () Zatamni AWB kao radnu knjigu, BackupFileName kao niz, i Kao cijeli broj, U redu Kao Boolean On Error Idi na NotAbleToSave Postavi AWB = ActiveWorkbook 'Dodijelite punu putanju datoteke uz naziv datoteke varijabli BackupFileName BackupFileName = AWB datoteka je spremljena 'Ako datoteka nije spremljena, tada spremite datoteku If AWB.Path = "" Then "Prikaz Spremi kao dijaloški okvir za spremanje datoteke Application.Dialogs (xlDialogSaveAs) .Show Else" Uklanjanje ekstenzije datoteke iz naziva datoteke i = 0 While InStr (i + 1, BackupFileName, ".")> 0 'Pronađite proširenje datoteke i = InStr (i + 1, BackupFileName, ".") Wend Ako je i> 0 Tada je BackupFileName = Lijevo (BackupFileName, i - 1) 'Dodavanje sigurnosne kopije ekstenzije ".bak" s imenom datoteke BackupFileName = BackupFileName & ".bak" Ok = False With AWB .Save' Stvaranje sigurnosne kopije datoteke .SaveCopyAs BackupFileName Ok = True End With End If NotAbleToSave: 'Kôd za rukovanje pogreškama Postavi AWB = Ništa ako nije u redu Onda MsgBox "Sigurnosna kopija nije spremljena!", VbExclamation, ThisWork book.Name Kraj If End Sub Sub SaveWorkbookBackupToFloppy () Zatamni AWB kao radnu knjigu, BackupFileName kao niz, i kao cijeli broj, u redu kao logičko zatamnjenje Ime pogona kao niz kod GoTo NotAbleToSave 'Odredite put za izradu sigurnosne kopije na D pogonu DriveName = "D : \ "'Pokretanje varijabli Postavi AWB = ActiveWorkbook BackupFileName = AWB.Name Ok = False' Provjerava je li datoteka spremljena 'Ako se datoteka ne spremi, spremanje datoteke Ako AWB.Path =" "Zatim' Prikaz Spremi kao dijaloški okvir za spremanje datoteka Application.Dialogs (xlDialogSaveAs) .Show Else 'Brisanje datoteke ako datoteka sigurnosne kopije već postoji Ako Dir (DriveName & BackupFileName) "" "Zatim ubijte DriveName & BackupFileName End If With AWB .Save" Stvaranje sigurnosne kopije datoteke .SaveCopyAs DriveName i DriveName Ok = True End With End If NotAbleToSave: 'Kôd za rukovanje pogreškama Postavite AWB = Ništa ako nije u redu Tada MsgBox "Sigurnosna kopija nije spremljena!", VbExclamation, ThisWorkbook.Name Kraj If End Sub 

Ako vam se dopao ovaj blog, podijelite ga sa svojim prijateljima na Facebooku. Također, možete nas pratiti na Twitteru i Facebooku.

Voljeli bismo vas čuti, javite nam kako možemo poboljšati svoj rad i učiniti ga boljim za vas. Pišite nam na web stranici e -pošte