Microsoft

Cómo ejecutar tareas de Office 365 con el Programador de tareas de Windows 10

istock 975124168
Imagen: Andrey Popov, Getty Images/iStockphoto

Cobertura de Windows de lectura obligada

Muchos de nosotros tenemos tareas repetitivas que se repiten diariamente, semanalmente, mensualmente o incluso cada hora. No es necesario abrir documentos y completar las mismas tareas una y otra vez. Si la tarea se puede automatizar mediante un procedimiento de VBA, puede ejecutar el procedimiento desde el Programador de tareas de Windows 10. Sucede en segundo plano y ni siquiera lo sabrás. Por lo tanto, si encuentra que las tareas repetitivas son tediosas o se olvida de ellas con frecuencia, pruebe el Programador de tareas de Windows 10.

Esta solución requiere Microsoft Visual Basic Scripting Edition (VBScript), pero este artículo proporciona todas las instrucciones que necesita. Una vez que comprenda la versatilidad de este lenguaje de secuencias de comandos, podrá explorarlo más a fondo por su cuenta. Además, usaremos el Programador de tareas de Windows 10, pero no se preocupe si no está familiarizado con esta herramienta, es fácil de usar. Este artículo asume que está familiarizado con Excel y VBA. Si en algún momento tiene problemas, lea la sección de solución de problemas al final de este artículo.

Más información: Precios y características para el consumidor de Office 365

Uso Office 365 y el Programador de tareas de Windows 10 en Windows 10 de 64 bits, pero debería funcionar con versiones anteriores de Office y Windows. Puede utilizar los archivos de demostración descargables de Excel .xlsm, .xls, .bas y .vbs. Esta técnica no funciona con las versiones de navegador de Excel. Tome nota de dónde guardó el archivo; necesitará esta información más adelante.

Tarea

Figura A Muestra un objeto de tabla simple con datos y una tabla dinámica. Suponga que los usuarios ingresan nuevos registros a lo largo del día y desea imprimir o enviar por correo electrónico una copia de la tabla dinámica actualizada todos los días a las 8:00 a. m. A menos que el usuario sepa actualizar la tabla dinámica, es posible que no obtenga la información más reciente. Entonces, cada mañana a las 8:00, abre el archivo, actualiza la tabla dinámica y lo imprime o lo envía por correo electrónico. Nos ceñiremos a lo básico y lo imprimiremos.

Figura A

excelschedulingtasks aAutomatizaremos la tarea de imprimir la tabla dinámica actualizada todas las mañanas a las 8:00 am.

Crear un procedimiento de VBA que funcione en Excel es el primer paso. El siguiente paso es escribir un script corto usando el Bloc de notas para crear una instancia de Excel y ejecutar la macro. Finalmente, crearemos una tarea básica que ejecute el VBScript todas las mañanas a las 8 AM.

Libros de trabajo y programas

Si los datos están en un objeto de tabla (demo.xlsm es), puede configurar fácilmente el libro de trabajo para actualizar la tabla dinámica al abrir. Para hacer esto, haga clic con el botón derecho en cualquier parte de la tabla dinámica y seleccione Opciones de tabla dinámica en el submenú que aparece. En el cuadro de diálogo que aparece, haga clic en la pestaña Datos. Luego, marque la opción Actualizar datos cuando se abra el archivo en la sección Datos de la tabla dinámica (Figura BNo necesita hacer esto para que esta técnica funcione, pero debe saber que puede hacerlo.

Figura B

excelschedulingtasks bPuede obligar a Excel a actualizar el objeto de tabla dinámica cuando abre el libro.

Ahora, abrir el libro de trabajo actualizará la tabla dinámica, pero aún necesita imprimirla; aquí es donde entra en juego la macro. Presione Alt+F11 para abrir el Editor de Visual Basic (VBE) para el libro de trabajo. En el menú Insertar, elija Módulo.En el módulo generado, ingrese el procedimiento que se muestra en Lista ANo intente copiar el código de esta página web: VBE no podrá interpretarlo correctamente, en su lugar, escriba o importe el archivo .bas descargable usted mismo.

Lista A

Sub PrintUpdatedPivotTable()’Actualizar y luego imprimir PivotTable1.Dim pt As PivotTableSet pt = Sheets(«PivotTable»).PivotTables(«PivotTable1»)’Select PivotTable1.pt.TableRange1.Select’Refresh all PivotTables.ThisWorkbook.RefreshAll’set Modo horizontal .ActiveSheet.PageSetup.Orientation = xlLandscape’Imprimir tabla dinámica1.ActiveWindow.SelectedSheets.PrintOutEnd Sub

El código identifica y selecciona la tabla dinámica para imprimir (PivotTable1 es su nombre predeterminado, no lo cambié). Después de actualizar todos los objetos de la tabla dinámica, el procedimiento imprime la tabla dinámica seleccionada (PivotTable1) en modo horizontal. Con el método PrintOut, puede especificar varias copias, etc. Para probar el proceso, haga clic en cualquier lugar y presione F5.

Guarde el libro y ciérrelo. Si está utilizando la versión Ribbon, asegúrese de guardar el libro de trabajo como un archivo habilitado para macros (.xlsm). Anote la ubicación del libro de trabajo y el nombre del procedimiento, ya que lo necesitará en el script que escribimos a continuación. Los archivos de demostración se guardan localmente en la carpeta Documentos.

guion

Siguiendo el modelo de Visual Basic, VBScript es utilizado principalmente por los administradores, pero es tan simple que la mayoría de nosotros podemos aprender los conceptos básicos. Usaremos el Bloc de notas como nuestro editor de secuencias de comandos.Abra el Bloc de notas e ingrese el script como se muestra Lista B.

Lista B

‘Imprimir tabla dinámica 1 en el libro de Excel, PivotTable1.xlsm.Set objApp = CreateObject(«Excel.Application»)Set objwb = objApp.Workbooks.Open(«C:UsersSusan HarkinsDocumentsPivotTable1.xlsm»)objApp.Visible = FalseobjApp .Run «PrintUpdatedPivotTable » objwb.Close False objApp.QuitSet objApp = NothingMsgBox «PrintUpdatedPivotTable», vbInformation

Este sencillo script crea una instancia de Excel, identifica el libro de trabajo con la tabla dinámica que queremos imprimir y luego abre el archivo. Si la propiedad Visible se establece en False, no la verá. A continuación, la secuencia de comandos ejecuta la macro en el Listado A para actualizar el objeto de tabla dinámica y luego imprime la tabla dinámica1. Después de imprimir, la secuencia de comandos cierra el libro de trabajo sin solicitar guardarlo, cierra la instancia de Excel y establece el objeto de Excel en Nada.

Guarde el archivo como PrintPivotTable1.vbs; debe agregar la extensión .vbs usted mismo al escribir el nombre. Cierre el archivo, tomando nota de su ubicación.

programador de tareas

El Programador de tareas es una herramienta de administración de Windows que existe desde hace mucho tiempo: es fácil de usar y sorprendentemente flexible. Solo usaremos un pequeño subconjunto de su funcionalidad.

En el menú Inicio de Windows, expanda Herramientas administrativas de Windows y seleccione Programador de tareas. Para agregar tareas:

  1. En el menú Acciones, elija Crear tarea básica.
  2. Asigne a la tarea un nombre significativo, como PrintPivotTable1.
  3. Agregue una breve descripción (Figura CEs posible que desee omitir este paso, pero es fácil olvidarse de las tareas de ejecución automática de las que se beneficiarían otras tareas. Haga clic en Siguiente.
  4. Seleccione Diariamente para esta tarea y haga clic en Siguiente.
  5. Ingrese 8:00:00 a. m. en el control Inicio a la derecha.Deje la configuración Repetir cada en 1 (el valor predeterminado), como en Figura D. Haga clic en Siguiente.
  6. En la sección Acción, mantenga la opción predeterminada Iniciar un programa. No cambie ninguna configuración, simplemente haga clic en Siguiente.
  7. Mencioné anteriormente que necesita saber dónde están los archivos. Utilice el botón de exploración para buscar PrintPivotTable1.vbs.
  8. Introduzca C:WindowsSystem32wscript.exe en el control Acción, Iniciar un programa. Para la mayoría de los usuarios, esto no debería suponer ninguna diferencia: identifica el programa VBScript. A medida que aprenda más sobre el idioma, es posible que vea cscript.exe; cscript.exe se ejecuta desde la consola. Si no puede encontrar el archivo .exe, escriba where wscript en Cortana.
  9. En el control Agregar parámetros, determine la ruta del libro de trabajo: «C:UsersSusan HarkinsDocumentsPrintPivotTable.vbs», como se muestra en la figura Figura ESe requieren las comillas ., su ruta será diferente a la mía, así que actualice en consecuencia.
  10. Haga clic en Siguiente, luego en Finalizar.

Figura C

excelschedulingtask cNombre y describa la tarea.

Figura D

excelschedulingtasks dIngrese el tiempo para imprimir la tabla dinámica.

Figura E

excelschedulingtasks eIdentifique el lenguaje de secuencias de comandos y la ruta del libro de trabajo.

Para probar el script, haga clic con el botón derecho en la lista de tareas y seleccione Ejecutar.

solución de problemas

Están sucediendo muchas cosas, por lo que es fácil equivocarse. El error más probable es un error tipográfico: no especificar los nombres y ubicaciones correctos de .vbs, .xlsm y macro. Afortunadamente, VBScript muestra mensajes de error, por lo que es fácil identificar la declaración real. Si recibe un mensaje de error de objeto, verifique los nombres de las variables en el script. Si recibe un error de que Windows no puede encontrar el archivo o la macro, verifique el nombre y la ruta. Si el problema parece ser uno de los permisos, es posible que necesite ayuda de su administrador. Le recomiendo que guarde los archivos localmente en lugar de en un servidor web cuando experimente.

Si eligió un momento extraño, por ejemplo, para imprimir en medio de la noche y la tarea no se está realizando, verifique las opciones de seguridad para la tarea. Es posible que desee cambiar la configuración predeterminada «Ejecutar solo si el usuario ha iniciado sesión» a «Ejecutar tanto si el usuario ha iniciado sesión como si no» (Figura F).

Figura F

excelschedulingtasks fCambie esta opción si desea que la tarea se ejecute cuando no haya iniciado sesión.

Aunque VBScript admite el manejo de errores, no lo hace en este script simple. Si está utilizando una impresora de red que podría desconectarse inesperadamente o tener otros problemas, es posible que desee agregar el manejo de errores adecuado.

Enviarme preguntas sobre Office

Intentaré responder a las preguntas de los lectores lo mejor que pueda, pero no puedo garantizarlo. No envíe archivos a menos que se le solicite; las solicitudes de ayuda iniciales con archivos se eliminarán como no leídas. Puede enviar una captura de pantalla de sus datos para ayudar a aclarar su pregunta. Por favor, sea lo más específico posible cuando se ponga en contacto conmigo. Por ejemplo, «Por favor, resuelva los problemas de mi libro de trabajo y corrija los errores» podría no obtener una respuesta, pero «¿Puede decirme por qué esta fórmula no devuelve el resultado esperado?», sí. Mencione la aplicación y la versión que está utilizando. Tecnopedia no me reembolsa por mi tiempo o experiencia cuando ayudo a los lectores, ni les cobro a los lectores a los que ayudo. Puede ponerse en contacto conmigo en [email protected].

LEER  La replicación y el agrupamiento mejoran la confiabilidad y el rendimiento en IIS

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba