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
9,999
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,081,441
Messages
5,358,705
Members
400,508
Latest member
fish31

Some videos you may like

This Week's Hot Topics

  • VBA (Userform)
    Hi All, I just would like to know why my code isn't working. Here is my VBA code: [CODE=vba]Private Sub OKButton_Click() Dim i As Integer...
  • List box that changes fill color
    Hello, I have gone through so many pages trying to figure this out. I have a 2020 calendar that depending on the day needs to have a certain...
  • Remove duplicates and retain one. Cross-linked cases
    Hi all I ran out of google keywords to use and still couldn't find a reference how to achieve the results of a single count. It would be great if...
  • VBA Copy and Paste With Duplicates
    Hello All, I'm in need of some input. My VBA skills are sub-par at best. I've assembled this code from basic research and it works but is...
  • Macro
    is it possible for a macro to run if the active cell value is different to the value above it
  • IF DATE and TIME
    I currently use this to check if date has passed but i also need to set a time on it too. Is it possible? [CODE=vba]=IF(B:B>TODAY(),"Not...
Top