Abrir archivo de Excel a cierta hora, ejecutar macro y cerrarlo

Abrir archivo de Excel a cierta hoja, ejecutar macro y cerrar

En este tutorial veremos más que sólo Excel, veremos la manera de programar una tarea en Windows y dicha tarea servirá para ejecutar un archivo de Excel a cierta hora. El archivo de Excel que se ejecutará contendrá una macro que se ejecutará al iniciar el archivo.

En resumen, los pasos que seguiremos son:

  • Crear una macro que se ejecute al abrir el archivo.
  • Crear un archivo por lotes .BAT.
  • Programar una tarea de Windows para abrir el archivo de Excel a cierta hora.
  • Agendar y/o ejecutar la tarea.
  • Ejecutar la tarea, se abre el archivo de Excel, se ejecuta la macro y se cierra el archivo.

Ejecutar macro al iniciar archivo de Excel

El tema de ejecutar una macro al iniciar un archivo de Excel ya lo hemos visto en varios tutoriales, por lo que no nos centraremos en ese tema, además, lo de menos es la macro; lo importante es que sepamos dónde incluir macros que se ejecutan al abrir:

  • Abrimos el IDE de Visual Basic para Aplicaciones con la combinación [Alt] + [F11].
  • Entramos al objeto ThisWorkbook.
  • Desplegamos la lista de opciones donde dice General.
  • Elegimos Workbook.
  • Se añade el evento Workbook_Open y ahí añadiremos la macro que deseamos ejecutar al abrir el archivo.
Private Sub Workbook_Open()

    'Aquí va la macro que se ejecutará al iniciar el archivo.
    
    ThisWorkbook.Save   ' Guardamos el archivo
    ThisWorkbook.Close  ' Para cerrar el archivo
    Application.Quit    ' Para cerrar Excel

End Sub

Ver video Abrir a cierta hora, ejecutar macro y cerrar archivo de Excel

Suscríbete al canal de EXCELeINFO en YouTube para aprender más de Excel y macros.

Archivo por lotes

Según Wikipedia un Archivo de procesamiento por lotes se trata de archivos de texto sin formato, guardados con la extensión *.bat que contienen un conjunto de comandos DOS. Cuando se ejecuta este archivo bat, los comandos contenidos son ejecutados en grupo, de forma secuencial, permitiendo automatizar diversas tareas. Cualquier comando DOS puede ser utilizado en un archivo batch.

Por lo anterior, crearemos un archivo .BAT que contendrá un comando que llamará a Excel y a su vez al archivo que deseamos que se ejecute a cierta hora. Haremos uso del Bloc de notas e ingresaremos el siguiente comando, el cual ustedes deberán modificar para adecuarlo a su archivo de Excel.

“C:\Program Files\Microsoft Office\root\Office16\EXCEL.EXE” “C:\Users\scampos\Documents\exceleinfo_pruebas\Abrir, ejecutar macro y cerrar archivo – EXCELeINFO.xlsm”

  • En Bloc de notar elegimos Guardar como.
  • Ingresamos el nombre ejecutarexcel.bat.
  • Guardar.

Nota: Para mostrar las extensiones de los archivos en el Explorador de Windows elegimos Vista > Opciones > Ver > Desmarcamos Ocultar extensiones de archivo para tipos de archivo conocidos.

Programar tarea de Windows

Haremos uso de la herramienta Programador de tareas para agendar la ejecución del archivo .BAT a la hora y frecuencia que decidas y que éste a su vez mandará llamar al archivo de Excel.

  • En el menú Inicio de Windows elegimos Herramientas administrativas > Programador de tareas.
  • En el panel de la derecha elegimos Crear tarea básica.
  • Se abre el Asistente para crear tareas básicas.
  • Ingresamos un nombre una descripción.

Asignamos un nombre a la tarea.

Figura 1. Asignamos un nombre a la tarea.

  • Seleccionamos la periodicidad en que queremos que se ejecute el archivo.

Cuándo desea que se inicie la tarea.

Figura 2. Cuándo desea que se inicie la tarea.

  • Definimos la hora en que deseamos que se ejecute la tarea.
  • Seleccionamos la acción que deseamos ejecutar. Para nuestro caso elegiremos Iniciar un programa.
  • Nos pide elegir el Programa o Script que se ejecutará.
  • Elegimos el archivo .BAT que creamos en el paso anterior.

Elegimos el archivo .BAT a ejecutar.

Figura 3. Elegimos el archivo .BAT a ejecutar.

Probamos la tarea

Una vez creada la tarea tenemos 2 opciones, esperar a que ejecute a la hora que indicamos o ejecutarla y ver qué tal funciona:

  • Damos clic derecho en la tarea Ejecutar archivo de Excel.
  • Elegimos Ejecutar.
  • Veremos que se abre una ventana de comandos, se abre Excel, ejecuta la macro y se cierra Excel.

Se ejecuta el archivo .BAT y éste manda llamar al archivo de Excel.

Figura 4. Se ejecuta el archivo .BAT y éste manda llamar al archivo de Excel.

Descargar los archivos de ejemplo

Descargar el ejemplo Abrir, ejecutar macro y cerrar archivo – EXCELeINFO.zip

Si te gustó este tutorial por favor anótate en nuestra Lista de correo y Suscríbete a nuestro canal de YouTube para que estés siempre enterado de lo nuevo que publicamos.

You may also like...