Ejecutar macros al abrir un archivo en Excel con el evento Workbook_Open
El evento Workbook_Open lo uso constantemente para ejecutar algunas macros al momento de abrir mis archivos o incluso lo uso cuando toca desarrollar un add-in.
En este mismo Blog, podrás ver que en muchos ejemplos uso este evento. Da click aquí para ver los artículos.
Cómo lo hacemos
Usar el evento Workbook_Open realmente es tan sencillo, que pensarás que por que no habías usado antes.
- Abrimos el IDE de vba. La manera más sencilla es presionar Alt + F11.
- En la parte izquiera del IDE ubicamos el nombre del nuestro archivo y damos doble click sobre el objeto ThisWorkbook.
Figura 1. IDE de vba.
- Para activar el evento Workbook_Open nos posicionamos en la parte derecha y damos click sobre el Como que dice (General) y elegimos Workbook.
- Al dar click se añadirá el código necesario para para el evento.
Figura 2. Activando el evento Workbook_Ope en el IDE de vba.
El código que querramos que se ejecute irá entre las líneas Private Sub Workbook_Open() y End Sub.
Código vba de ejemplo
Para este artículo usaremos un ejemplo que mandará un mensaje dependiendo la hora en la que se abre el archivo, siendo Buenos días, tardes o noches.
Figura 3. Mensaje de bienvenida al abrir un archivo.
Usaremos el siguiente código vba para lograr lo anterior.
Private Sub Workbook_Open() Dim HoraActual As Date HoraActual = Time Select Case HoraActual Case "00:00" To "05:59:59" MsgBox "Buenas noches" Case "06:00" To "11:59:59" MsgBox "Buenos días" Case "12:00" To "18:59:59" MsgBox "Buenas tardes" Case "19:00" To "23:59:59" MsgBox "Buenas noches" End Select End Sub
Anexos
Artículos donde también usando el evento Workbook_Open:
- Ejecutar macro dependiendo del nombre de usuario de Excel
- Hora real en Excel con OnTime
- Prohibir el acceso a las macros de Excel con Alt + F11
- Crear categoría y descripción para funciones personalizadas UDF en Excel
- Macro para crear un log y saber cuántas veces se abre un archivo de Excel
- Add-in para manipulación de texto en Excel
- Mostrar hojas en Excel ingresando una contraseña
- Funciones personalizadas UDF en Excel disponibles en todos los archivos abiertos
- Mostrar mensaje de los que cumplen años el día de hoy en Excel
- Lanzar tu propio menú contextual al dar click derecho en las etiquetas de hojas de Excel
- Usar “No volver a mostrar este mensaje” modificando el Registro de Windows desde Excel