Alertar para gravação sobre arquivo existente - JJoão (08/2002)
Dúvida colocada: .. Tenho um livro que faço alterações mas na hora de gravar queria gravar com outro nome, este nome é fixo, p.ex: t.xls, queria então uma macro que me permitisse num só toque gravar direto com esse nome fixo, deixando a possibilidade também de colocar um novo nome ou não, já agora se a macro pudesse avisar se o ficheiro já existe...."
Solução : Macro que alerta para a existência de um ficheiro de nome igual e permite, gravar sobre, alterar o nome ou cancelar a operação.
Sub mySaveAS()
Dim fName As String
Dim a As Integer
On Error GoTo erro
fName = "t.xls"
If Dir(fName) <> "" Then
a = MsgBox("Já existe um ficheiro com esse nome!" & vbCrlf & _
"Deseja continuar? " & vbCrLf & _
" Sim - grava sobre o existente " & vbCrLf & _
" Não - permite alterar o nome" & vbCrLf & _
" Cancelar - interrompe a operação", _
vbYesNoCancel, _
"Gravar Como...")
Select Case a
Case vbYes
GoTo SaveXls
Case vbNo
Application.Dialogs(xlDialogSaveAs).Show
Case vbCancel
MsgBox "Operação cancelada pelo utilizador!", _
vbCritical, _
"Cancelado"
End Select
End If
Exit Sub
SaveXls:
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs _
fileName:=fName, _
FileFormat:=xlNormal, _
Password:="", _
WriteResPassword:="", _
ReadOnlyRecommended:=False, _
CreateBackup:=False
Application.DisplayAlerts = True
Exit Sub
erro:
MsgBox Err.Number & " " & Err.Description
End Sub
|