Compartilhar via


Resolver Problemas de Scripts do Office

À medida que desenvolve Scripts do Office, pode cometer erros. Não faz mal. Tem as ferramentas para ajudar a encontrar os problemas e fazer com que os scripts funcionem perfeitamente.

Observação

Para obter conselhos de resolução de problemas específicos dos Scripts do Office com o Power Automate, consulte Resolução de Problemas de Scripts do Office em execução no Power Automate.

Limites e requisitos da plataforma

Para obter uma lista detalhada das limitações na plataforma Scripts do Office devido ao Excel, Power Automate ou outras tecnologias, consulte Limites e requisitos da plataforma com Scripts do Office.

Erros de script

Os erros de Scripts do Office enquadram-se numa de duas categorias:

  • Erros ou avisos de tempo de compilação
  • Erros de runtime

Erros de tempo de compilação

Os erros de tempo de compilação e os avisos são apresentados inicialmente no editor de código. Estes são apresentados pelos sublinhados vermelhos ondulados no editor. Também são apresentados no separador Problemas na parte inferior do painel de tarefas do editor de código. Selecionar o erro fornece mais detalhes sobre o problema e sugere soluções. Os erros de tempo de compilação devem ser resolvidos antes de executar o script.

Um erro de compilador apresentado no texto sensível à passagem do rato do editor de código.

Também poderá ver sublinhados de aviso laranja e mensagens informativas cinzentas. Estas indicam sugestões de desempenho ou outras possibilidades em que o script pode ter efeitos não intencionais. Estes avisos devem ser examinados de perto antes de os dispensar.

Erros de runtime

Os erros de runtime ocorrem devido a problemas lógicos no script. Tal pode dever-se ao facto de um objeto utilizado no script não estar no livro, de uma tabela estar formatada de forma diferente do previsto ou de alguma outra ligeira discrepância entre os requisitos do script e o livro atual. O script seguinte gera um erro quando uma folha de cálculo com o nome "Folha de Testes" não está presente.

function main(workbook: ExcelScript.Workbook) {
  let mySheet = workbook.getWorksheet('TestSheet');

  // This will throw an error if there is no "TestSheet".
  mySheet.getRange("A1");
}

Alguns erros de runtime são causados por exceder os limites da plataforma, como tentar escrever demasiados dados ao mesmo tempo com Excel na Web. Consulte Limites e requisitos da plataforma com Scripts do Office para obter uma lista completa de potenciais armadilhas.

Mensagens da consola

Os erros de tempo de compilação e runtime apresentam mensagens de erro na consola quando um script é executado. Dão um número de linha onde o problema foi encontrado. Tenha em atenção que a causa raiz de qualquer problema pode ser uma linha de código diferente da indicada na consola.

A imagem seguinte mostra o resultado da consola do erro do compilador explícito any . Anote o texto [6, 14] no início da cadeia de erros. Isto indica que o erro está na linha 6, começando no caráter 14.

A consola do editor de código a apresentar uma mensagem de erro

A imagem seguinte mostra a saída da consola para um erro de runtime. Aqui, o script tenta adicionar uma folha de cálculo com o nome de uma folha de cálculo existente. Novamente, tenha em atenção a "Linha 3" anterior ao erro para mostrar a linha a investigar.

A consola do editor de código a apresentar um erro da chamada

Registos da consola

Imprima mensagens no ecrã com a console.log instrução . Estes registos podem mostrar-lhe o valor atual das variáveis ou que caminhos de código estão a ser acionados. Para tal, chame console.log com qualquer objeto como um parâmetro. Normalmente, um string é o tipo mais fácil de ler na consola.

console.log("Logging myRange's address.");
console.log(myRange.getAddress());

As cadeias transmitidas para console.log são apresentadas na consola de registo do editor de código, na parte inferior do painel de tarefas. Os registos são encontrados no separador Saída , embora o separador ganhe automaticamente o foco quando um registo é escrito.

Os registos não afetam o livro.

O separador Automatizar não aparece ou os Scripts do Office não estão disponíveis

Os passos seguintes devem ajudar a resolver problemas relacionados com o separador Automatizar não aparecer no Excel.

  1. Certifique-se de que a sua licença do Microsoft 365 inclui Scripts do Office.
  2. Certifique-se de que os cookies de terceiros estão ativados (ao utilizar Excel na Web).
  3. Certifique-se de que o seu administrador não desativou os Scripts do Office no Centro de administração do Microsoft 365.
  4. Certifique-se de que o seu administrador não configurou uma política de grupo para bloquear Scripts do Office (apenas Windows).
  5. Instale o WebView2 (apenas Windows).
  6. Certifique-se de que não tem sessão iniciada como um utilizador externo ou convidado no seu inquilino.

Importante

Ao utilizar o Excel com o Teams, os Scripts do Office só são suportados no Teams na Web (não no Teams para Windows, Mac, iOS ou Android).

Observação

Existe um problema conhecido que impede que os scripts armazenados no SharePoint apareçam sempre na lista utilizada recentemente. Isto ocorre quando o administrador desativa os Serviços Web do Exchange (EWS). Os scripts baseados no SharePoint continuam acessíveis e utilizáveis através da caixa de diálogo do ficheiro.

Problemas ao agendar um script

Agendar um script requer uma licença de negócio para o Microsoft 365. Isto é necessário para o fluxo do Power Automate que alimenta o script agendado. Os erros deste fluxo são apresentados quando existem problemas de agendamento. Poderá ter de atualizar manualmente o fluxo no Power Automate, onde será listado em Os meus fluxos.

A lista seguinte mostra erros comuns que poderá encontrar.

  • A hora UTC da expiração do token de acesso é anterior à hora UTC atual.: Passou demasiado tempo entre iniciar sessão no serviço e agendar o script. Reabra o script no editor de código ou recarregue o livro e tente agendar novamente.

Recursos de ajuda

O Stack Overflow é uma comunidade de programadores dispostos a ajudar com problemas de codificação. Muitas vezes, poderá encontrar a solução para o seu problema através de uma pesquisa rápida do Stack Overflow. Caso contrário, faça a sua pergunta e marque-a com a etiqueta "office-scripts". Certifique-se de que menção está a criar um Script do Office e não um Suplemento do Office.

Confira também