Boas
Sendo eu um novato em vba através do forum obtive este código:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
With Application
.CommandBars("Cell").Reset
End With
Application.DisplayAlerts = False
Dim awb As Workbook, BackupFileName As String, i As Integer, OK As Boolean
If TypeName(ActiveWorkbook) = "Nothing" Then Exit Sub
Set awb = ActiveWorkbook
If awb.Path = "" Then
Application.Dialogs(xlDialogSaveAs).Show
Else
BackupFileName = awb.FullName
i = 0
While InStr(i + 1, BackupFileName, ".") > 0
i = InStr(i + 1, BackupFileName, ".")
Wend
If i > 0 Then BackupFileName = Left(BackupFileName, i - 1)
BackupFileName = BackupFileName & ".bak"
OK = False
On Error GoTo NotAbleToSave
With awb
Application.StatusBar = "Saving this workbook..."
.Save
Application.StatusBar = "Saving this workbook backup..."
.SaveCopyAs BackupFileName
OK = True
End With
End If
NotAbleToSave:
Set awb = Nothing
Application.StatusBar = False
If Not OK Then
MsgBox "Backup Copy Not Saved!", vbExclamation, ThisWorkbook.Name
End If
ThisWorkbook.Save
End Sub
Que para mim esta a funcionar na perfeição talvez podesse estar mais bem elaborado mas para quem não sabe está optimo.
Agora gostava que ao mesmo tempo que ele faz o Backup no mesmo local do ficheiro fizesse também em C:Backup_Contabilidade.
Por fim colocar tambem a data e hora.
Obrigado desde já pelo tempo despendido
Postado : 11/12/2012 3:56 pm