Ejercicios con el evento Workbook Deactivate de VBA
El evento VBA Workbook_Deactivate se activa cuando el libro de Excel ya no es la ventana activa. Esto significa que al hacer clic o minimizar la barra de título de otro libro se ejecutará el código asociado con ese evento.
¿Para qué se utiliza?
El evento Workbook_Deactivate se usa principalmente para realizar acciones cuando un libro en particular ya no está en primer plano. Algunos ejemplos de uso incluyen:
- Guarde automáticamente los cambios en el libro antes de deshabilitarlo.
- Restablezca el entorno de trabajo del usuario, como la posición del zoom o las ventanas acopladas.
- Cierre o guarde automáticamente ventanas emergentes o cuadros de diálogo asociados con un libro.
- Deshabilite las macros o programas que se ejecutan continuamente mientras el libro está activo.
- Envíe mensajes de alerta basados en períodos de inactividad del libro.
¿Cómo se usa?
Para utilizar el evento Workbook_Deactivate, coloca el siguiente código en un módulo de este libro de trabajo:
Private Sub Workbook_Deactivate()
' Tu código aquí
End Sub
El código del procedimiento Workbook_Deactivate se ejecuta cada vez que se desactiva un libro.
Ejemplo:
El siguiente código muestra cómo usar el evento Workbook_Deactivate para guardar automáticamente los cambios en el libro y cerrar ventanas emergentes:
Private Sub Workbook_Deactivate()
' Guardar los cambios en el libro de trabajo
ActiveWorkbook.SaveChanges
' Cerrar la ventana emergente "Aviso"
If IsWindowVisible("Aviso") Then
Unload Me
End If
End Sub
En este ejemplo, siempre que el libro está deshabilitado, los cambios se guardan automáticamente y la ventana emergente denominada Notificaciones se cierra (si está abierta).
Responses