Ejecución de scripts de Office con Power Automate

Power Automate le permite agregar scripts de Office a un flujo de trabajo más grande y automatizado. Puede usar Power Automate para hacer cosas como agregar el contenido de un correo electrónico a la tabla de una hoja de cálculo o crear acciones en las herramientas de administración de proyectos en función de los comentarios del libro.

Importante

Para usar scripts de Office en Power Automate, debe tener una licencia empresarial de Microsoft 365. Las licencias Office 365 Enterprise E1 y Office 365 F3 pueden usar scripts con Power Automate, pero no tienen integraciones de Power Automate directamente en Excel.

Sugerencia

¿Desea ejecutar automáticamente un script sin conectarse a otras aplicaciones? Use la característica Programación de scripts .

Introducción

Si no está familiarizado con Power Automate, le recomendamos que visite Introducción a Power Automate. Allí, puede obtener más información sobre todas las posibilidades de automatización disponibles. Los documentos aquí se centran en cómo funcionan los scripts de Office con Power Automate y cómo esto puede ayudar a mejorar la experiencia de Excel.

Tutoriales paso a paso

Hay tres tutoriales paso a paso para Power Automate y Scripts de Office. Estos muestran cómo combinar los servicios de automatización y pasar datos entre un libro y un flujo.

Creación de un flujo desde Excel

Puede empezar a trabajar con Power Automate en Excel con una variedad de plantillas de flujo. En la pestaña Automatizar , seleccione Automatizar una tarea.

El botón

Se abre un panel de tareas con varias opciones para empezar a conectar los scripts de Office a soluciones automatizadas de mayor tamaño. Seleccione cualquier opción para comenzar. El flujo se proporciona con el libro actual.

Panel de tareas que muestra opciones de plantilla de flujo como

Sugerencia

También puede empezar a realizar un flujo desde el menú Más opciones (...) de un script individual.

Conector de Excel

El conector de Excel Online (empresa) proporciona a los flujos acceso a los libros de Excel. Hay dos acciones que llaman a scripts de Office.

  • Ejecute el script. Esta es la acción que se va a usar con scripts almacenados en la ubicación predeterminada de OneDrive.
  • Ejecute el script desde la biblioteca de SharePoint. Esta es la acción que se va a usar cuando los scripts se almacenan en el sitio de SharePoint del equipo.

Para la acción Ejecutar script , la ubicación del script siempre está en OneDrive.

La acción Ejecutar script con campos completados que muestran que la ubicación es

Seguridad de datos en scripts de Office con Power Automate

La acción "Ejecutar script" proporciona a las personas que usan el conector de Excel acceso significativo al libro y a sus datos. Además, hay riesgos de seguridad con scripts que realizan llamadas API externas, como se explica en Llamadas externas de Power Automate. Si el administrador está preocupado por la exposición de datos altamente confidenciales, puede desactivar el conector de Excel Online o restringir el acceso a los scripts de Office a través de los controles de administrador de Scripts de Office.

Para los administradores que han habilitado directivas de acceso condicional para dispositivos no administrados en su inquilino, se recomienda deshabilitar Power Automate en dispositivos no administrados. Este proceso se detalla en la entrada de blog Control del acceso a Power Apps y Power Automate con directivas de acceso condicional de Azure AD.

Transferencia de datos en flujos para scripts

Power Automate le permite pasar fragmentos de datos entre acciones de flujo. Los scripts se pueden configurar para aceptar la información que necesita y devolver lo que quiera del libro al flujo. Los datos se pasan a scripts como valores estáticos, expresiones o contenido dinámico. Puede encontrar detalles sobre el conector de un servicio individual en la documentación del conector de Power Automate.

Obtenga información sobre cómo pasar datos hacia y desde los scripts con la siguiente documentación.

Ejemplo

En la captura de pantalla siguiente se muestra un flujo de Power Automate que se desencadena cada vez que se envía una nueva respuesta a un formulario. El flujo ejecuta un script que agrega el valor de satisfacción del formulario a una tabla. La satisfacción media actual se devuelve y se envía como un correo electrónico.

Editor de flujo de Power Automate que muestra el flujo de ejemplo.

La main función del script especifica el nuevo valor de satisfacción como parámetro de entrada (newData). El script devuelve el valor de satisfacción promedio de la tabla.

function main(workbook: ExcelScript.Workbook, newData: string): number {
  // Add the new data to the table.
  const table = workbook.getTable("SurveyTable");
  table.addRow(-1, [newData]);

  // Get the current satisfaction total.
  const satisfactionColumn = table.getColumnByName("Current Satisfaction");
  const values = satisfactionColumn.getRangeBetweenHeaderAndTotal().getValues();
  let total = 0.0;
  values.forEach((value) => {
    total += value[0] as number;
  });

  // Return the average satisfaction.
  return total / values.length;
}

Nota:

El parámetro script es de tipo string porque es el tipo que devuelve la acción Formularios para todos los valores.

Busque ejemplos completos con tutoriales paso a paso en escenarios y ejemplos de Scripts de Office. Muchos usan scripts de Office en el centro de los flujos de Power Automate.

Consulte también