lunes, 10 de junio de 2013

VBA: ejecutar una macro de Excel de un Libro cerrado - el programador de tareas de Windows.

En una entrada del blog anterior (ver) vimos cómo podíamos configurar o programar una macro para que se ejecutara en un momento determinado, pero con la condición que el Libro de trabajo que la contenía estuviera abierto.
En la entrada de hoy veremos cómo empleando una herramienta de Windows (el Programador de tareas), tendremos la posibilidad de programar la apertura de nuestro Libro de trabajo automáticamente, y por tanto, permitir la ejecución de una macro de Excel cuando así lo necesitemos. En definitiva salvaremos así el escollo o limitación que suponía deber tener un Libro abierto para forzar una macro.


Por otra parte, igualmente importante, está el asunto de la Seguridad de las macros y la habilitación automática de macros o contenidos, lo que quedó explicado en la entrada:


Se trata, por tanto, de trabajar en diferentes frentes:
1. Programador de tareas de Windows, y
2. Definir las Ubicaciones de confianza (que permita saltar el mensaje de seguridad de macros)


Nos centramos en los pasos a seguir para configurar el programador de tareas de Windows.
Lo primero desde el botón de Inicio de Windows buscaremos el Equipo sobre el que haremos clic derecho y Administrar:

VBA: ejecutar una macro de Excel de un Libro cerrado - el programador de tareas de Windows.
haz clic en la imagen


En la ventana que se abrirá de Administración de equipos buscaremos en los menús de la izquierda la opción de Herramientas del sistema > Programador de tareas:

VBA: ejecutar una macro de Excel de un Libro cerrado - el programador de tareas de Windows.
haz clic en la imagen



Como la tarea a programar es bastante sencilla (abrir un Libro de Excel), nos fijaremos en las Acciones que encontramos a la derecha, y presionaremos Crear tarea básica que abre la siguiente ventana del Asistente para crear tareas básicas, completaremos el Nombre de la tarea (y la descripción si queremos):

VBA: ejecutar una macro de Excel de un Libro cerrado - el programador de tareas de Windows.
haz clic en la imagen



El siguiente paso del Asistente es programar el Desencadenador de la tarea, esto es, indicar cuándo queremos que se ejecute la tarea. Podemos optar por que se programe diariamente, semanalmente, mensualmente, etc. Seleccionaremos la que nos interese:

VBA: ejecutar una macro de Excel de un Libro cerrado - el programador de tareas de Windows.
haz clic en la imagen



El siguiente paso del Asistente sirve para configurar el momento:

VBA: ejecutar una macro de Excel de un Libro cerrado - el programador de tareas de Windows.
haz clic en la imagen


En este caso indicamos cuando comienza la tarea y a qué hora queremos se ejecute diariamente (fue nuestra elección).

Otro paso es el de indicar qué acción va a realizar la tarea, podemos elegir entre tres opciones, pero en nuestro caso nos quedaremos con la primera: Iniciar un programa.

VBA: ejecutar una macro de Excel de un Libro cerrado - el programador de tareas de Windows.
haz clic en la imagen



Ya casi acabamos...
Indicamos dónde está el programa (Libro de Excel) a iniciar:

VBA: ejecutar una macro de Excel de un Libro cerrado - el programador de tareas de Windows.
haz clic en la imagen



El paso final nos muestra un resumen de la configuración anterior:

VBA: ejecutar una macro de Excel de un Libro cerrado - el programador de tareas de Windows.
haz clic en la imagen



Hemos acabado, nuestra tarea ha quedado programada. A partir de hoy, todos los días a a las 18:00 se abrirá el libro de Excel indicado. Además si el Libro contiene macros y una de estas macro está configurada para ejecutarse en un tiempo concreto, lo hará...

Para modificar o eliminar una tarea ya creada, accederemos a la Adminsitración de equipos (igual que al inicio de la entrada) y buscaremos la Biblioteca de tareas... entre ellas aparecerá la nuestra. Sobre ella podremos editarla, eliminarla, deshabilitarla, etc...

VBA: ejecutar una macro de Excel de un Libro cerrado - el programador de tareas de Windows.

8 comentarios:

  1. Hola cual es la entrada anterior donde dices que se explicaba lo de la tarea programada? El link que anotas en la palabra "ver" me lleva a esta misma página.
    Gracias

    ResponderEliminar
  2. Hola! Gracias por compartir tus conocimientos.
    Podrías ayudarme con lo siguiente, dentro del libro tengo una macro para enviar un correo, el proceso aparentemente se ejecuta sin problemas desde el administrador de tareas pero no me llega el correo.
    De antemano gracias por tu tiempo y ayuda.

    ResponderEliminar
    Respuestas
    1. Hola,
      ¿te has asegurado de tener abierto también outlook?

      Saludos cordiales

      Eliminar
  3. Hola que tal amigo, muy interesante esta operación.
    Tengo una consulta al ejecutar esta acción solo abre excel mas no el archivo. Que debo hacer

    ResponderEliminar
    Respuestas
    1. Hola Claudio,
      en principio, en uno de los pasos se indica qué fichero en concreto se debe abrir en la tarea...
      qué versión de Windows tienes?... quizá sea algo que haya cambiado?
      Slds

      Eliminar
  4. Buenos días
    Estoy iniciando una tarea pero siempre que la ejecuto me solicita programa de arranque, adicionalmente, me cambia el directorio de xlsm a xlsx.
    Muchas gracias por la colaboración

    ResponderEliminar
    Respuestas
    1. Hola,
      los siento... no entiendo 'programa de arranque'??
      Estás ejecutando una macro en Excel?

      Saludos

      Eliminar

Nota: solo los miembros de este blog pueden publicar comentarios.