Saltar al contenido

QUITAR MENSAJE DE CIERRE DE LA APLICACION


Recommended Posts

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

publicado

 

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
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

Disculpa tienes razón, entonces deja .Save, pero incluye al principio y fin del procedimiento

Application.DisplayAlerts = False
Application.EnableEvents = False

todo tu codigo


Application.DisplayAlerts = true
Application.EnableEvents = true

 

Saludos

publicado

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

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.

publicado

Es que no habías mencionado que estabas usando un evento, o puedes ser opción para ti, lo que yo te mande fue pensando que estas usando un formulario o algún botón

 

Saludos a todos!

Archivado

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

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.