No Excel 2007, na caixa Salvar como, há uma opção para 'Criar um backup', que simplesmente faz o backup do arquivo sempre que ele é salvo. Infelizmente, ele faz o backup do arquivo no mesmo diretório que o original.
Existe uma maneira simples de alterar esse diretório para outra unidade / pasta? Eu brinquei com macros para fazer isso, criando:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
'Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
'Saves the current file to a backup folder and the default folder
'Note that any backup is overwritten
Application.DisplayAlerts = False
ActiveWorkbook.SaveCopyAs Filename:="T:\TEC_SERV\Backup file folder - DO NOT DELETE\" & _
ActiveWorkbook.Name
ActiveWorkbook.Save
Application.DisplayAlerts = True
End Sub
Isso cria um backup do arquivo ok na primeira vez, no entanto, se isso for tentado novamente, obtenho:
Erro em tempo de execução '1004';
O Microsoft Office Excel não pode acessar o arquivo 'T: \ TEC_SERV \ Backup file folder - NÃO DELETE \ Test Macro Sheet.xlsm. Há vários motivos possíveis:
O nome ou o caminho do arquivo não existe.
O arquivo está sendo usado por outro programa.
A pasta de trabalho que você está tentando salvar tem o mesmo nome de um ...
Sei que o caminho está correto, também sei que o arquivo não está aberto em nenhum outro lugar. A pasta de trabalho tem o mesmo nome que estou tentando salvar, mas deve ser substituída.
Eu postei a pergunta sobre a codificação no Stack Overflow, mas me perguntei se existe uma maneira mais fácil de fazer isso.
Qualquer ajuda seria muito apreciada. Joe