Solucionar problemas de scripts do Office

Ao desenvolver os Scripts do Office, você pode cometer erros. Está tudo bem. Você tem as ferramentas para ajudar a encontrar os problemas e fazer com que seus scripts funcionem perfeitamente.

Observação

Para obter conselhos sobre solução de problemas específicos para Scripts do Office com o Power Automate, consulte Solucionar Problemas de Scripts do Office em execução no Power Automate.

Limites e requisitos da plataforma

Para obter uma lista detalhada de limitações na plataforma de 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 se enquadram em uma das duas categorias:

  • Erros ou avisos em tempo de compilação
  • Erro de tempo de execução

Erros de tempo de compilação

Erros e avisos em tempo de compilação são mostrados inicialmente no editor de código. Eles são mostrados pelos sublinhados vermelhos ondulados no editor. Eles também são exibidos na guia 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. Erros de tempo de compilação devem ser resolvidos antes de executar o script.

Um erro do compilador mostrado no texto de foco do editor de códigos.

Você também pode ver sublinhados de aviso laranja e mensagens informativas cinzas. Indicam sugestões de desempenho ou outras possibilidades em que o script pode ter efeitos não intencionais. Tais advertências devem ser examinadas de perto antes de descartá-las.

Erro de tempo de execução

Erros de tempo de execução ocorrem devido a problemas de lógica no script. Isso pode ocorrer porque um objeto usado no script não está na pasta de trabalho, uma tabela está formatada de forma diferente do previsto ou alguma outra pequena discrepância entre os requisitos do script e a pasta de trabalho atual. O script a seguir gera um erro quando uma planilha chamada "TestSheet" 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 tempo de execução são causados por exceder os limites da plataforma, como tentar gravar muitos dados de uma só vez com o Excel na Web. Consulte Limites e requisitos da plataforma com os Scripts do Office para obter uma lista completa de possíveis armadilhas.

Mensagens do console

Os erros de tempo de compilação e de tempo de execução exibem mensagens de erro no console quando um script é executado. Eles fornecem um número de linha onde o problema foi encontrado. Lembre-se de que a causa raiz de qualquer problema pode ser uma linha de código diferente da indicada no console.

A imagem a seguir mostra a saída do console para o erro explícito any do compilador. Observe o texto [6, 14] no início da cadeia de caracteres de erro. Isso indica que o erro está na linha 6, começando no caractere 14.

O console do editor de código exibindo uma mensagem de erro explícita

A imagem a seguir mostra a saída do console para um erro de runtime. Aqui, o script tenta adicionar uma planilha com o nome de uma planilha existente. Novamente, observe a "Linha 3" antes do erro para mostrar qual linha investigar.

O console do editor de código exibindo um erro da chamada 'addWorksheet'.

Logs do console

Imprima mensagens na tela com a console.log instrução. Esses logs podem mostrar o valor atual das variáveis ou quais caminhos de código estão sendo disparados. Para fazer isso, chame console.log com qualquer objeto como parâmetro. Normalmente, a string é o tipo mais fácil de ler no console.

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

As cadeias de caracteres passadas são console.log exibidas no console de registro do editor de código, na parte inferior do painel de tarefas. Os logs são encontrados na guia Saída , embora a guia ganhe foco automaticamente quando um log é gravado.

Os logs não afetam a pasta de trabalho.

A guia Automatizar não aparece ou os Scripts do Office não estão disponíveis

As etapas a seguir devem ajudar a solucionar quaisquer problemas relacionados à guia Automatizar não aparecer no Excel.

  1. Verifique se sua licença do Microsoft 365 inclui Scripts do Office.
  2. Certifique-se de que os cookies de terceiros estejam habilitados (ao usar o Excel na Web).
  3. Verifique se o administrador não desabilitou os Scripts do Office no Centro de administração do Microsoft 365.
  4. Verifique se o administrador não configurou uma política de grupo para bloquear Scripts do Office (somente Windows).
  5. Instale o WebView2 (somente Windows).
  6. Verifique se você não está conectado como um usuário externo ou convidado ao seu locatário.

Importante

Ao usar o Excel com o Teams, os Scripts do Office têm suporte apenas no Teams na Web (não no Teams para Windows, Mac, iOS ou Android).

Observação

Há um problema conhecido que impede que os scripts armazenados no SharePoint sempre apareçam na lista usada recentemente. Isso ocorre quando o administrador desativa o EWS (Exchange Web Services). Seus scripts baseados no SharePoint ainda estão acessíveis e podem ser usados por meio da caixa de diálogo de arquivo.

Problemas ao agendar um script

Agendar um script requer uma licença comercial para o Microsoft 365. Isso é necessário para o fluxo do Power Automate que alimenta o script agendado. Os erros desse fluxo são mostrados quando há problemas de agendamento. Talvez seja necessário atualizar manualmente seu fluxo no Power Automate, onde ele será listado em Meus fluxos.

A lista a seguir mostra erros comuns que você pode encontrar.

  • A hora UTC de expiração do token de acesso é anterior à hora UTC atual.: Muito tempo se passou entre a entrada no serviço e o agendamento do script. Reabra o script no editor de código ou recarregue a pasta de trabalho e tente agendar novamente.

Recursos de ajuda

Stack Overflow é uma comunidade de desenvolvedores dispostos a ajudar com problemas de codificação. Muitas vezes, você poderá encontrar a solução para o seu problema por meio de uma rápida pesquisa no Stack Overflow. Caso contrário, faça sua pergunta e marque-a com a tag "office-scripts". Certifique-se de mencionar que você está criando um script do Office, não um suplemento do Office.

Confira também