Saltar al contenido

QUITAR MENSAJE DE CIERRE DE LA APLICACION

publicado

Hola compañeros,

Cuál es el método que me permite quitar la ventana de alerta al cerrar un libro (ver imagen adjunta)?

Estoy probando con este código, pero no me funciona...

   guardar = MsgBox(Prompt:="Gracias por usar la aplicación ofimática, " & tbNombre & "." & vbCr & _
                            "¿Desea guardar los cambios antes de salir?", _
                    Buttons:=vbYesNo + vbCritical, _
                    Title:="                  SALIR DE LA APLICACION OFIMATICA")
   If guardar = vbYes Then
      ActiveWorkbook.Save
   Else
      Application.DisplayAlerts = False   ' No mostramos la ventana de alerta para guardar manualmente los últimos
                                          ' cambios añadidos al libro de la aplicación ofimática...
   End If

Gracias.

imagen.jpg

Featured Replies

publicado
  • Autor

 

Hace 17 horas, Gerson Pineda dijo:

Hola

Prueba usar esta linea


ActiveWorkbook.Close savechanges:=True

o 

ActiveWorkbook.Close 1

 

Saludos 

Hola @Gerson Pineda,

Gracias por tu respuesta. Esa opción me cierra el libro, pero no la aplicación.

Me gustaría que cerrara la aplicación al completo. No sólo el libro.

Es algún método de la clase application, pero no sé cuál...

publicado
  • Autor
Hace 7 minutos , Gerson Pineda dijo:

Despues de ese paso:


Application.Quit

 

Saludos 

No. No funcionaría. Ya lo probé y no funciona, porque si te das cuenta cerramos el libro que ejecuta la macro, y por tanto ésta deja de ejecutarse.

publicado
  • Autor

Hola de nuevo @Gerson Pineda,

Revisando la documentación de Windows VBA, dice algo así como que después del método "Application.DisplayAlerts = False" debe ir acompañado de "Application.Quit" porque de lo contrario, si se mostraría la ventana de alerta.

https://docs.microsoft.com/es-es/office/vba/api/excel.application.quit

Sería algo así...
 

Dim guardar as Byte

guardar = MsgBox("¿Desea guardar los cambios antes de salir?", vbYesNo)

if cerrar = vbNo Then

	With Application

		.DisplayAlerts = False

		.Quit

	end with

else

		ActiveWorkbook.Saved
		Application.Quit

end if

Esto es para el evento "Private Sub Workbook_BeforeClose(Cancel As Boolean)"...

publicado
  • Autor

De todos modos, echaré un ojo a tu código...

Hace 22 minutos , Gerson Pineda dijo:

 


Application.DisplayAlerts = False
Application.EnableEvents = False

todo tu codigo


Application.DisplayAlerts = true
Application.EnableEvents = true

 

 

publicado
Private Sub CommandButton4_Click()
Dim wb As Workbook
For Each wb In Workbooks
    wb.Save
Next
Application.Quit
End Sub

Si te puede servir en algo.

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.