Saber respuesta por "Archivo ya existe"

yesidbaquero

New Member
Joined
Mar 26, 2010
Messages
1
Nesecito ayuda para conocer la respuesta que da el usuario a un cuadro de diálogo que aparece cuando desde una macro de Excel intento guardar un archivo y ya existe otro archivo con ese nombre. El título del cuadro de diálogo es Microsoft Office Excel, el texto mostrado informa que ya existe un archivo con ese nombre, pregunta si desea reemplazar el archivo existente y da las opciones Si, No y Cancelar

Ese cuadro de diálogo lo genera automáticamente Excel, no lo genero yo desde la macro que estoy ejecutando, y por tanto yo no se en que variable se guarda la respuesta del usuario.
 

Greg Truby

MrExcel MVP
Joined
Jun 19, 2002
Messages
10,013
Hola Yesi,
<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:eek:ffice:eek:ffice" /><o:p></o:p>
Bienvenido a MrExcel. De lo que me doy cuenta no ha manera directa atrapar el resultado de tal diálogo. Lo que se puede hacer es atrapar el evento BeforeSave y examinar el valor de SaveAsUI. Y si está cierto cambiarlo a falso y poner su propio díalogo.
<o:p></o:p>
Aquí hay un ejemplo:<o:p></o:p>
Code:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
    Dim fdSaveAs As FileDialog
 
    Set fdSaveAs = Application.FileDialog(msoFileDialogSaveAs)
 
    If SaveAsUI Then
 
        Let SaveAsUI = False
 
        Application.EnableEvents = False
        With fdSaveAs
            If .Show = -1 Then
                Me.SaveAs .SelectedItems(1)
            Else
                Cancel = True
            End If
        End With
        Application.EnableEvents = True
    End If
 
End Sub
Favor sepa que no hice pruebas extensivas solamente breves pero creo que con esto ya se puede agarrar el hilo.
 

Forum statistics

Threads
1,085,495
Messages
5,384,007
Members
401,871
Latest member
allemandi

Some videos you may like

This Week's Hot Topics

Top