Reikėtų reguliariai daryti atsargines duomenų kopijas, nes bet koks neteisingas kito vartotojo pakeitimas arba atsitiktinis „Excel“ failo ištrynimas gali sugadinti daug laiko ir informacijos.
Šiame straipsnyje aptarsime, kaip sukurti „Excel“ failo atsarginę kopiją naudojant VBA.
Šiame straipsnyje aptarsime du skirtingus atsarginės kopijos kūrimo būdus naudojant VBA kodą. Parašėme dvi makrokomandas, skirtas „Excel“ failo atsarginei kopijai pasidaryti.
„SaveWorkbookBackup“ makrokomanda sukurs „Excel“ failo atsarginę kopiją su plėtiniu „.bak“ tame pačiame aplanke, kuriame išsaugota aktyvi darbaknygė.
„SaveWorkbookBackupToFloppy“ makrokomanda sukurs aktyvios darbaknygės kopiją D diske, kuri veiks kaip atsarginė aktyvios darbaknygės failas.
Kodo paaiškinimas
Jei ne gerai tada
„MsgBox“ „Atsarginė kopija neišsaugota!“, VbExclamation, ThisWorkbook.Name
Pabaiga Jei
Aukščiau pateiktas kodas naudojamas klaidos pranešimui rodyti, kai vykdant makrokomandą įvyksta klaida.
Jei AWB.Path = "" Tada
„Rodomas dialogo langas Išsaugoti kaip, kad būtų išsaugotas failas
Application.Dialogs (xlDialogSaveAs). Rodyti
Aukščiau pateiktas kodas naudojamas dialogo langui Įrašyti kaip rodyti, jei failas neišsaugotas prieš imantis atsarginės failo atsarginės kopijos.
Sekite toliau pateiktą kodą
Parinktis Explicit Sub SaveWorkbookBackup () Dim AWB As Workbook, BackupFileName As String, i As Integer, Ok As Boolean On Error GoTo NotAbleToSave Set AWB = ActiveWorkbook 'Priskirti visą failo kelią pagal failo pavadinimą kintamajam BackupFileName BackupFileName = AWB.FullName failas išsaugomas 'Jei failas neišsaugotas, tada išsaugokite failą If AWB.Path = "" Tada' Rodomas dialogo langas Išsaugoti kaip failo išsaugojimui Application.Dialogs (xlDialogSaveAs). Rodyti kitaip 'Failo plėtinio pašalinimas iš failo pavadinimo i = 0 Nors InStr (i + 1, BackupFileName, ".")> 0 'Raskite failo plėtinį i = InStr (i + 1, BackupFileName, ".") Wend If i> 0 BackupFileName = Left (BackupFileName, i - 1) "Pridėti atsarginį plėtinį" .bak "su failo pavadinimu BackupFileName = BackupFileName &" .bak "Ok = False With AWB .Save 'Sukuriama failo atsarginė kopija .SaveCopyAs BackupFileName Ok = Tikroji pabaiga su pabaiga Jei NotAbleToSave:' Klaidos tvarkymo rinkinys AWB = Nieko, jei ne Gerai, tada „MsgBox“ „Atsarginė kopija neišsaugota!“, VbExclamation, ThisWork book.Name Pabaiga Jei pabaiga Sub Sub SaveWorkbookBackupToFloppy () Dim AWB As Workbook, BackupFileName As String, i As Integer, Ok As Boolean Dim DriveName As String On Error GoTo NotAbleToSave 'Nurodykite atkūrimo kelią D diske DriveName = "D : \ "'Kintamųjų inicijavimas Nustatykite AWB = ActiveWorkbook BackupFileName = AWB.Name Ok = False' Tikrinama, ar failas išsaugotas 'Jei failas neišsaugotas, išsaugokite failą If AWB.Path =" "Tada" Rodomas dialogo langas Išsaugoti kaip failo išsaugojimas Application.Dialogs (xlDialogSaveAs) .Rodyti kitaip „Failo ištrynimas, jei atsarginis failas jau yra Jei Dir (DriveName & BackupFileName)" "Tada nužudykite DriveName & BackupFileName End If With AWB .Save 'Sukurkite atsarginį failą .SaveCopyAs DriveName & BackupFileName Gerai = Tikroji pabaiga su pabaiga, jei NotAbleToSave: 'Klaidos tvarkymo kodas Nustatykite AWB = Nieko, jei ne Gerai, tada „MsgBox“ „Atsarginė kopija neišsaugota!“, VbExclamation, ThisWorkbook.Name Pabaiga, jei pabaiga
Jei jums patiko šis tinklaraštis, pasidalykite juo su draugais „Facebook“. Be to, mus galite sekti „Twitter“ ir „Facebook“.
Mes norėtume išgirsti jūsų nuomonę, praneškite mums, kaip galime pagerinti savo darbą ir padaryti jį geresnį. Rašykite mums el