En el ajetreo diario de la vida laboral, a veces nos encontramos con la necesidad de ejecutar tareas o programas en momentos en los que no estamos físicamente presentes. Ya sea generar un informe, ejecutar una aplicación o realizar alguna tarea rutinaria, la tecnología nos ofrece soluciones para automatizar estos procesos y librarnos del estrés de tener que estar constantemente pendientes.
Agendar la Ejecución de un Reporte desde Excel
Imaginemos un viernes típico. Sabemos que necesitamos que cierta aplicación se ejecute durante el fin de semana, pero no estaremos en la oficina para hacerlo manualmente. Aquí es donde la magia de la automatización entra en juego.
Agendando la ejecución desde Excel
En este artículo, exploraremos cómo usar Excel y sus macros para programar la ejecución de aplicaciones o tareas en momentos específicos, sin necesidad de nuestra intervención directa. Tomaremos como ejemplo la ejecución de un reporte a las 5 de la mañana del siguiente día.
1. Creación de la Macro
El primer paso es dirigirnos a la pestaña “Programador” en Excel y seleccionar “Visual Basic”. Aquí crearemos una nueva macro. En el editor de Visual Basic, definimos las variables necesarias para conectarnos a la API de Windows, lo que nos permitirá ejecutar aplicaciones. Utilizaremos la función ShellExecute
para este propósito.
Private Declare PtrSafe Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" _
(ByVal hwnd As LongPtr, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) _
As LongPtr
Sub Reporte()
ShellExecute 0, "Open", "C:reportereporte.exe", "", "", 1
Application.Wait Now + TimeValue("00:00:02")
Call SendKeys("~", True)
End Sub
2. Agendando la ejecución
Ahora, creamos otra macro que programará la ejecución del reporte a una hora específica. Podemos optar por dos opciones: ejecutarlo a una hora determinada o en cierto tiempo desde el momento actual.
Sub AgendarReporte()
Application.OnTime TimeValue("05:00:00"), "Reporte"
'Application.OnTime EarliestTime:=Now + TimeValue("00:00:05"), Procedure:="Reporte"
End Sub
3. Automatización del proceso
Para facilitar el uso de esta funcionalidad, podemos agregar un acceso rápido a la macro de agendar reporte. Simplemente vamos a “Archivo > Opciones > Barra de herramientas de acceso rápido”, seleccionamos “Macros” y agregamos la macro “Agendar_Reporte”.
Conclusión
Con estos sencillos pasos, podemos automatizar la ejecución de tareas o aplicaciones en momentos específicos, lo que nos libera de la necesidad de estar presentes físicamente. Ya sea generando informes, ejecutando programas o realizando cualquier otra tarea programable, Excel y sus macros ofrecen una solución eficiente y práctica.
Suscríbete para más tutoriales
Descarga el archivo para practicar
Escribe tu correo electrónico para recibir gratis el archivo para practicar.
*Al enviar mi correo electrónico, acepto recibir noticias y ofertas. Puedo darme de baja en cualquier momento.