Ejercicios con el evento Workbook BefloreClose de VBA

Este evento se ejecuta antes de que el libro se cierre. Si se ha modificado el libro, este evento se produce antes de pedir al usuario que guarde las modificaciones.

¿Cúando se produce el Evento Workbook BeforeClose?

Workbook_BeforeClose es un evento que se ejecuta antes que el libro de Microsoft Excel es cerrado. Por ejemplo, Utilizaremos el evento Workbook_BeforeClose Guardar o salvar un libro de manera predeterminada. Osea Microsoft Excel preguntará si desea guardar el archivo antes del cierre si se han realizado cambios.

Parámetros

NombreObligatorio / OpcionalTipo de datosDescripción
CancelObligatorioBooleanFalse al producirse el evento. Si colocamos Cancel=True, la operación de cierre se detiene y el libro permanece abierto. Con Cancel=True no te permite Cerrar.

Ejercicio 1. Guardar Documentos antes de cerrar el libro

En este ejercicio vamos a guardar el documento antes de cerrarlo de manera automática con el siguiente código:

Private Sub Workbook_BeforeClose(Cancel As Boolean)
ThisWorkbvook.Save
End Sub

Ejercicio 2. Mensaje para confirmar si desea salir del libro.

Mostrar un cuadro de mensaje donde se pida al usuario confirmar si desea salir del libro. Si da clic en Ok, el libro va a guardar y cerrar. Si Da clic en «Cancelar», el libro no se cerrará.

Private Sub Workbook_BeforeClose(Cancel As Boolean)
salir = MsgBox("¿Está seguro de que quiere salir?", vbOKCancel)
If salir = vbOK Then
ThisWorkbook.Save
Else
Cancel = True
End If
End Sub

Evento Workbook Deactivate

Tienes que saber Hay otro evento llamado Workbook_Deactivate, que es muy parecido y que se activa cuando se cierra un libro o al cambiar a otro libro. Tanto Workbook_BeforeClose y Workbook_Deactivate se pueden activar cuando un libro está cerrado, pero si ambos eventos están en un libro, Workbook_BeforeClose se disparará primero.

Related Articles

Responses

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *