Menu
 
 
 
 
 
 


Valid XHTML 1.0 Transitional
Valid CSS!

Visual Basic for Application:

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 

Utilidades
 
Transito em directo
 
O Tempo
 
Gerador de Chaves
 
Moedas - Taxas e Cambios
 
 
 
 
 
Classifique o nosso website
@ MUNDOPT.COM
 
Topo