Uložte zálohu sešitu pomocí VBA v aplikaci Microsoft Excel

Anonim

Zálohování dat by mělo probíhat v pravidelných časových intervalech, protože jakákoli nesprávná úprava jiným uživatelem nebo neúmyslné smazání souboru aplikace Excel může zkazit spoustu času a informací.

V tomto článku se budeme zabývat tím, jak provést zálohu souboru aplikace Excel pomocí VBA.

V tomto článku se budeme zabývat dvěma různými způsoby zálohování pomocí kódu VBA. Napsali jsme dvě makra pro zálohování souboru aplikace Excel.

Makro „SaveWorkbookBackup“ vytvoří zálohu souboru aplikace Excel s příponou „.bak“ ve stejné složce, kam je uložen aktivní sešit.

Makro „SaveWorkbookBackupToFloppy“ vytvoří kopii aktivního sešitu na jednotce D, která bude fungovat jako záložní soubor pro aktivní sešit.

Vysvětlení kódu

Pokud to není v pořádku, pak

MsgBox „Záložní kopie nebyla uložena!“, VbExclamation, ThisWorkbook.Name

Konec If

Výše uvedený kód se používá k zobrazení chybové zprávy, když během provádění makra dojde k nějaké běhové chybě.

Pokud AWB.Path = "" Pak

'Zobrazení dialogového okna Uložit jako pro ukládání souborů

Application.Dialogs (xlDialogSaveAs) .Show

Výše uvedený kód se používá k zobrazení dialogového okna Uložit jako, pokud není soubor uložen před provedením zálohy souboru.

Pro kód prosím postupujte níže

 Volba Explicitní Sub SaveWorkbookBackup () Dim AWB jako sešit, BackupFileName jako řetězec, i jako Integer, Ok jako boolean při chybě GoTo NotAbleToSave Nastavit AWB = ActiveWorkbook 'Přiřadit úplnou cestu k názvu souboru k proměnné BackupFileName BackupFileName = AWB.FullName' Kontrola soubor je uložen 'Pokud soubor není uložen, uložte soubor If AWB.Path = "" Then' Zobrazení Uložit jako dialogové okno pro uložení souboru Application.Dialogs (xlDialogSaveAs). Zobrazit jiné 'Odebrání přípony souboru z názvu souboru i = 0 Zatímco InStr (i + 1, BackupFileName, ".")> 0 'Najděte příponu souboru i = InStr (i + 1, BackupFileName, ".") Wend If i> 0 Then BackupFileName = Left (BackupFileName, i - 1) 'Přidání záložní přípony ".bak" s názvem souboru BackupFileName = BackupFileName & ".bak" Ok = False With AWB .Save' Vytvoření zálohy souboru .SaveCopyAs BackupFileName Ok = True End With End If NotAbleToSave: 'Kód pro zpracování chyb Set AWB = Nic, pokud není v pořádku, pak MsgBox „Záložní kopie nebyla uložena!“, 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 'Specify the path for creating up in D drive DriveName = "D : \ "'Inicializace proměnných Nastavit AWB = ActiveWorkbook BackupFileName = AWB.Name Ok = False' Kontrola, zda je soubor uložen 'Pokud soubor není uložen, pak soubor uložit Pokud AWB.Path =" "Potom' Zobrazení Uložit jako dialog pro uložení souboru Application.Dialogs (xlDialogSaveAs). Zobrazit jiné 'Smazání souboru, pokud záložní soubor již existuje If Dir (DriveName & BackupFileName) "" Then Kill DriveName & BackupFileName End If With AWB .Save' Vytvoření záložního souboru .SaveCopyAs DriveName & BackupFileName Ok = True End With End If NotAbleToSave: 'Kód pro zpracování chyb Nastavit AWB = Nic Pokud ne Ok, pak MsgBox „Záložní kopie nebyla uložena!“, VbExclamation, ThisWorkbook.Name End If End Sub 

Pokud se vám tento blog líbil, sdílejte ho se svými přáteli na Facebooku. Také nás můžete sledovat na Twitteru a Facebooku.

Rádi bychom od vás slyšeli, dejte nám vědět, jak můžeme zlepšit naši práci a zlepšit ji pro vás. Napište nám na e -mail