Share via


Solución de problemas de scripts de Office que se ejecutan en Power Automate

Power Automate ejecuta scripts en su nombre en sesiones independientes de Excel. Esto provoca algunos cambios de comportamiento que pueden crear problemas con determinados scripts o escenarios. También hay limitaciones y comportamientos que deben conocer los escritores de scripts de la plataforma Power Automate. Asegúrese de leer los artículos Solución de problemas de scripts y requisitos de plataforma y scripts de Office con scripts de Office, ya que gran parte de esa información también se aplica a los scripts de los flujos.

Sugerencia

Si está empezando a usar scripts de Office con Power Automate, comience con Ejecutar scripts de Office con Power Automate para obtener información sobre las plataformas.

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.

Evitar referencias relativas

Power Automate ejecuta el script en el libro de Excel elegido en su nombre. El libro podría cerrarse cuando esto sucede. Cualquier API que se base en el estado actual del usuario, como Workbook.getActiveWorksheet, puede comportarse de forma diferente en Power Automate. Esto se debe a que las API se basan en una posición relativa de la vista o cursor del usuario y esa referencia no existe en un flujo de Power Automate.

Algunas API de referencia relativas producen errores en Power Automate. Otros tienen un comportamiento predeterminado que implica el estado de un usuario. Al diseñar los scripts, asegúrese de usar referencias absolutas para hojas de cálculo e intervalos. Esto hace que el flujo de Power Automate sea coherente, incluso si se reorganizan las hojas de cálculo.

Métodos de script que producen un error en los flujos de Power Automate

Los métodos siguientes producen un error y producen un error cuando se llama desde un script en un flujo de Power Automate.

Clase Método
Chart activate
Range select
Workbook getActiveCell
Workbook getActiveChart
Workbook getActiveSlicer
Workbook getSelectedRange
Workbook getSelectedRanges

Métodos de script con un comportamiento predeterminado en flujos de Power Automate

Los métodos siguientes usan un comportamiento predeterminado, en lugar del estado actual de cualquier usuario.

Clase Método Comportamiento de Power Automate
Workbook getActiveWorksheet Devuelve la primera hoja de cálculo del libro o la hoja de cálculo activada actualmente por el Worksheet.activate método .
Worksheet activate Marca la hoja de cálculo como la hoja de cálculo activa para fines de Workbook.getActiveWorksheet.

Actualización no totalmente compatible con Power Automate

Los scripts de Office no pueden actualizar la mayoría de los datos cuando se ejecutan en Power Automate. La mayoría de los métodos de actualización, como PivotTable.refresh, no hacen nada cuando se llama en un flujo. Workbook.refreshAllDataConnections solo se actualiza cuando PowerBI es el origen. Además, Power Automate no desencadena una actualización de datos para las fórmulas que usan vínculos de libro.

Métodos de script que no hacen nada en flujos de Power Automate

Los métodos siguientes no hacen nada en un script cuando se llama a través de Power Automate. Siguen devolviendo correctamente y no producen ningún error.

Clase Método
PivotTable refresh
Workbook refreshAllPivotTables
Worksheet refreshAllPivotTables

Métodos de script con un comportamiento diferente en Power Automate

Los métodos siguientes actúan de forma diferente en los flujos de Power Automate que cuando se ejecutan a través de Excel.

Clase Método Comportamiento de Power Automate
Workbook refreshAllDataConnections Solo actualiza los orígenes de PowerBI. Para otros orígenes, el método devuelve correctamente pero no hace nada.

Selección de libros con el control del explorador de archivos

Al compilar el paso Ejecutar script de un flujo de Power Automate, debe seleccionar qué libro forma parte del flujo. Use el explorador de archivos para seleccionar el libro, en lugar de escribir manualmente el nombre del libro.

La acción Ejecutar script de Power Automate que muestra la opción Mostrar explorador de archivos selectores.

Para obtener más contexto sobre la limitación de Power Automate y una explicación de posibles soluciones alternativas para la selección dinámica de libros, consulte este subproceso en la comunidad de Microsoft Power Automate.

Pasar matrices completas como parámetros de script

Power Automate permite a los usuarios pasar matrices a conectores como una variable o como elementos únicos de la matriz. El valor predeterminado es pasar elementos únicos, que compila la matriz en el flujo. Para scripts u otros conectores que toman matrices completas como argumentos, debe seleccionar el botón Cambiar a la matriz completa de entrada para pasar la matriz como un objeto completo. Este botón se encuentra en la esquina superior derecha de cada campo de entrada de parámetros de matriz.

Botón para cambiar a la entrada de una matriz completa en un cuadro de entrada de campo de control.

Diferencias de zona horaria

Los archivos de Excel no tienen una ubicación o zona horaria inherentes. Cada vez que un usuario abre el libro, su sesión usa la zona horaria local de ese usuario para los cálculos de fecha. Power Automate siempre usa UTC.

Si el script usa fechas o horas, puede haber diferencias de comportamiento cuando el script se prueba localmente frente a cuando se ejecuta a través de Power Automate. Power Automate le permite convertir, dar formato y ajustar los tiempos. Consulte Trabajar con fechas y horas dentro de los flujos para obtener instrucciones sobre cómo usar esas funciones en Power Automate y pasar datos hacia y desde scripts de Power Automate para obtener información sobre cómo proporcionar esa información de tiempo para el script.

Campos de parámetro de script o salida devuelta que no aparecen en Power Automate

Hay dos motivos por los que los parámetros o los datos devueltos de un script no se reflejan con precisión en el generador de flujos de Power Automate.

La firma de un script se almacena con el conector de Excel Business (Online) cuando se crea. Quite el conector antiguo y cree uno nuevo para obtener los parámetros más recientes y los valores devueltos para la acción Ejecutar script .

Consulte también