Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
O Power Automate executa scripts em seu nome em sessões independentes do Excel. Isso causa algumas alterações comportamentais que podem criar problemas com determinados scripts ou cenários. Também há limitações e comportamentos da plataforma Power Automate que os escritores de scripts devem conhecer. Não deixe de ler os artigos Solucionar problemas de Scripts do Office e limites e requisitos de plataforma com Scripts do Office, pois muitas dessas informações também se aplicam a scripts em fluxos.
Dica
Se você está apenas começando a usar os Scripts do Office com o Power Automate, comece com Executar Scripts do Office com o Power Automate para saber mais sobre as plataformas.
Importante
Para usar os Scripts do Office no Power Automate, você deve ter uma licença comercial do Microsoft 365. As licenças do Office 365 Enterprise E1 e do Office 365 F3 podem usar Scripts com o Power Automate, mas não têm integrações com o Power Automate diretamente no Excel.
Evite referências relativas
O Power Automate executa seu script na pasta de trabalho escolhida do Excel em seu nome. A pasta de trabalho pode ser fechada quando isso acontece. Qualquer API que dependa do estado atual do usuário, como Workbook.getActiveWorksheet, pode se comportar de forma diferente no Power Automate. Isso ocorre porque as APIs são baseadas em uma posição relativa da exibição ou do cursor do usuário e essa referência não existe em um fluxo do Power Automate.
Algumas APIs de referência relativas geram erros no Power Automate. Outros têm um comportamento padrão que implica o estado de um usuário. Ao criar seus scripts, certifique-se de usar referências absolutas para planilhas e intervalos. Isso torna o fluxo do Power Automate consistente, mesmo que as planilhas sejam reorganizadas.
Métodos de script que falham em fluxos do Power Automate
Os métodos a seguir geram um erro e falham quando chamados de um script em um fluxo do Power Automate.
| Classe | Método |
|---|---|
| Gráfico | activate |
| Range | select |
| Pasta de trabalho | getActiveCell |
| Pasta de trabalho | getActiveChart |
| Pasta de trabalho | getActiveSlicer |
| Pasta de trabalho | getSelectedRange |
| Pasta de trabalho | getSelectedRanges |
Métodos de script com um comportamento padrão em fluxos do Power Automate
Os métodos a seguir usam um comportamento padrão, em vez do estado atual de qualquer usuário.
| Classe | Método | Comportamento do Power Automate |
|---|---|---|
| Pasta de trabalho | getActiveWorksheet |
Retorna a primeira planilha na pasta de trabalho ou a planilha ativada atualmente pelo Worksheet.activate método. |
| Planilha | activate |
Marca a planilha como a planilha ativa para fins de Workbook.getActiveWorksheet. |
A atualização não tem suporte total no Power Automate
Os scripts do Office não podem atualizar a maioria dos dados quando executados no Power Automate. A maioria dos métodos de atualização, como PivotTable.refresh, não faz nada quando chamado em um fluxo.
Workbook.refreshAllDataConnections só é atualizado quando o PowerBI é a fonte. Além disso, o Power Automate não dispara uma atualização de dados para fórmulas que usam links de pasta de trabalho.
Métodos de script que não fazem nada nos fluxos do Power Automate
Os métodos a seguir não fazem nada em um script quando chamados por meio do Power Automate. Eles ainda retornam com sucesso e não geram erros.
| Classe | Método |
|---|---|
| PivotTable | refresh |
| Pasta de trabalho | refreshAllPivotTables |
| Planilha | refreshAllPivotTables |
Métodos de script com um comportamento diferente no Power Automate
Os métodos a seguir agem de forma diferente nos fluxos do Power Automate do que quando executados pelo Excel.
| Classe | Método | Comportamento do Power Automate |
|---|---|---|
| Pasta de trabalho | refreshAllDataConnections |
Atualiza apenas fontes do PowerBI. Para outras fontes, o método retorna com êxito, mas não faz nada. |
Selecione pastas de trabalho com o controle do navegador de arquivos
Ao criar a etapa Executar script de um fluxo do Power Automate, você precisa selecionar qual pasta de trabalho faz parte do fluxo. Use o navegador de arquivos para selecionar a pasta de trabalho, em vez de digitar manualmente o nome da pasta de trabalho.
Para obter mais contexto sobre a limitação do Power Automate e uma discussão sobre possíveis soluções alternativas para a seleção dinâmica de pastas de trabalho, consulte este tópico na Comunidade do Microsoft Power Automate.
Passar matrizes inteiras como parâmetros de script
O Power Automate permite que os usuários passem matrizes para conectores como uma variável ou como elementos únicos na matriz. O padrão é passar elementos únicos, o que cria a matriz no fluxo. Para scripts ou outros conectores que usam matrizes inteiras como argumentos, você precisa selecionar o botão Alternar para inserir matriz inteira para passar a matriz como um objeto completo. Este botão está no canto superior direito de cada campo de entrada de parâmetro da matriz.
Diferenças de fuso horário
Os arquivos do Excel não têm uma localização ou fuso horário inerente. Toda vez que um usuário abre a pasta de trabalho, sua sessão usa o fuso horário local do usuário para cálculos de data. O Power Automate sempre usa UTC.
Se o script usar datas ou horas, pode haver diferenças comportamentais quando o script é testado localmente versus quando é executado por meio do Power Automate. O Power Automate permite converter, formatar e ajustar horas. Consulte Trabalhar com Datas e Horas dentro de seus fluxos para obter instruções sobre como usar essas funções no Power Automate e Passar dados de e para scripts no Power Automate para saber como fornecer essas informações de tempo para o script.
Os campos de parâmetro de script ou a saída retornada não aparecem no Power Automate
Há dois motivos pelos quais os parâmetros ou dados retornados de um script não são refletidos com precisão no construtor de fluxo do Power Automate.
- A assinatura do script (os parâmetros ou o valor de retorno) foi alterada desde que o conector do Excel Business (Online) foi adicionado.
- A assinatura de script usa tipos não compatíveis. Verifique seus tipos em relação às restrições para o parâmetro de scripts do Office e tipos de retorno.
A assinatura de um script é armazenada com o conector do Excel Business (Online) quando ele é criado. Remova o conector antigo e crie um novo para obter os parâmetros mais recentes e retornar valores para a ação Executar script .
Algumas APIs Web não estão disponíveis com fluxos do Power Automate
Algumas APIs Web, como TextEncoder e Crypto, podem não estar disponíveis ao executar Scripts do Office em fluxos do Power Automa. Consulte APIs Web do MDN para obter uma lista completa de APIs da Web.
O Power Automate retorna o erro *API* is not defined, em que *API* especifica uma biblioteca como TextEncoder, ao executar um script que usa uma API sem suporte.