Agendar la Ejecución de un Reporte desde Excel

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

Agendar la Ejecución de un Reporte a cierta Hora o en cierto Tiempo 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:\reporte\reporte.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.

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top