Deve-se fazer backup dos dados em intervalos regulares de tempo, pois qualquer modificação errada por outro usuário ou a exclusão acidental do arquivo do Excel pode prejudicar muito tempo e informações.
Neste artigo, abordaremos como fazer backup de um arquivo Excel usando o VBA.
Neste artigo, abordaremos duas maneiras diferentes de fazer backup usando o código VBA. Escrevemos duas macros para fazer o backup do arquivo Excel.
A macro “SaveWorkbookBackup” criará um backup do arquivo Excel com a extensão “.bak” dentro da mesma pasta onde a pasta de trabalho ativa foi salva.
A macro “SaveWorkbookBackupToFloppy” criará uma cópia da pasta de trabalho ativa na unidade D, que atuará como arquivo de backup para a pasta de trabalho ativa.
Explicação do código
Se não estiver bem, então
MsgBox "Cópia de backup não salva!", VbExclamation, ThisWorkbook.Name
Fim se
O código acima é usado para exibir mensagem de erro, quando algum erro de tempo de execução ocorre durante a execução da macro.
Se AWB.Path = "" Então
'Exibindo Salvar como caixa de diálogo para salvar o arquivo
Application.Dialogs (xlDialogSaveAs) .Show
O código acima é usado para exibir a caixa de diálogo Salvar como, se o arquivo não for salvo antes de fazer o backup do arquivo.
Siga abaixo para o código
Opção Explicit Sub SaveWorkbookBackup () Dim AWB As Workbook, BackupFileName As String, i As Integer, Ok As Boolean On Error GoTo NotAbleToSave Set AWB = ActiveWorkbook 'Atribuir caminho completo do arquivo junto com o nome do arquivo para a variável BackupFileName BackupFileName = AWB.FullName' Verificando se o arquivo é salvo 'Se o arquivo não for salvo, então salvando o arquivo If AWB.Path = "" Then' Exibindo a caixa de diálogo Salvar como para salvar o arquivo Application.Dialogs (xlDialogSaveAs) .Show Else 'Removendo a extensão do arquivo do nome do arquivo i = 0 Enquanto InStr (i + 1, BackupFileName, ".")> 0 'Encontre a extensão do arquivo i = InStr (i + 1, BackupFileName, ".") Wend If i> 0 Then BackupFileName = Left (BackupFileName, i - 1) 'Adicionando extensão de backup ".bak" com nome de arquivo BackupFileName = BackupFileName & ".bak" Ok = False With AWB .Save' Criando backup de arquivo .SaveCopyAs BackupFileName Ok = True End With End If NotAbleToSave: 'Código para tratamento de erros definido AWB = Nothing If Not Ok Then MsgBox "Backup Copy Not Saved!", VbExclamation, ThisWork book.Name End If End Sub Sub SaveWorkbookBackupToFloppy () Dim AWB como pasta de trabalho, BackupFileName As String, i As Integer, Ok As Boolean Dim DriveName As String On Error GoTo NotAbleToSave 'Especifique o caminho para fazer o backup na unidade D DriveName = "D : \ "'Inicializando as variáveis Set AWB = ActiveWorkbook BackupFileName = AWB.Name Ok = False' Verificando se o arquivo foi salvo 'Se o arquivo não foi salvo, então salvando o arquivo If AWB.Path =" "Then' Exibindo a caixa de diálogo Salvar como para arquivo salvando Application.Dialogs (xlDialogSaveAs) .Show Else 'Excluindo arquivo se o arquivo de backup já existir If Dir (DriveName & BackupFileName) "" Then Kill DriveName & BackupFileName End If With AWB .Save' Criando o arquivo de backup .SaveCopyAs DriveName & BackupFileName Ok = True End With End If NotAbleToSave: 'Código para tratamento de erros Set AWB = Nothing If Not Ok Then MsgBox "Cópia de backup não salva!", VbExclamation, ThisWorkbook.Name End If End Sub
Se você gostou deste blog, compartilhe com seus amigos no Facebook. Além disso, você pode nos seguir no Twitter e no Facebook.
Gostaríamos muito de ouvir de você, diga-nos como podemos melhorar nosso trabalho e torná-lo melhor para você. Escreva para nós no site de e-mail