Partilhar via


Solucionar problemas de scripts do Office

À medida que você desenvolve scripts do Office, você pode cometer erros. Tudo bem, está tudo bem. Você tem as ferramentas para ajudar a encontrar os problemas e fazer com que seus scripts funcionem perfeitamente.

Observação

Para solucionar problemas de conselhos específicos dos 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 scripts do Office devido ao Excel, Power Automate ou outras tecnologias, consulte Limites e requisitos de plataforma com scripts do Office.

Erros de script

Os erros de Scripts do Office se enquadram em uma das duas categorias:

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

Erros de tempo de compilação

Erros e avisos de tempo de compilação são mostrados inicialmente no Editor de Código. Estes 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 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 mouse do Editor de Código.

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

Erros de runtime

Erros de runtime ocorrem devido a problemas lógicos no script. Isso pode ser porque um objeto usado no script não está na pasta de trabalho, uma tabela é 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 runtime são causados por exceder os limites da plataforma, como tentar gravar muitos dados ao mesmo tempo com Excel na Web. Consulte Limites e requisitos da plataforma com scripts do Office para obter uma lista completa de possíveis armadilhas.

Mensagens de console

Erros de tempo de compilação e de runtime exibem mensagens de erro no console quando um script é executado. Eles dão um número de linha onde o problema foi encontrado. Tenha em mente que a causa raiz de qualquer problema pode ser uma linha de código diferente do indicado no console.

A imagem a seguir mostra a saída do console para o erro explícito any do compilador. Observe o texto [5, 16] no início da cadeia de caracteres de erro. Isso indica que o erro está na linha 5, começando no caractere 16. O console do Editor de Código que exibe uma mensagem de erro explícita de

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 2" anterior ao erro para mostrar qual linha investigar. O console do Editor de Código que exibe um erro da chamada 'addWorksheet'.

Logs de console

Imprimir mensagens na tela com a instrução console.log . Esses logs podem mostrar o valor atual de 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, um 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 para console.log são exibidas no console de log 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 automaticamente o foco quando um log é gravado.

Os logs não afetam a pasta de trabalho.

Guia Automatizar não aparecendo ou Scripts do Office indisponíveis

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

  1. Verifique se sua licença do Microsoft 365 inclui scripts do Office.
  2. Verifique se cookies de terceiros estão habilitados (ao usar Excel na Web).
  3. Verifique se o administrador não desabilitou 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 só têm suporte no Teams na Web (não no Teams para Windows, Mac, iOS ou Android).

Observação

Há um problema conhecido que impede que 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 em SharePoint ainda estão acessíveis e utilizáveis 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. 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.: passou muito tempo entre entrar no serviço e agendar o script. Reabra o script no Editor de Código ou recarregue a pasta de trabalho e tente agendar novamente.

Recursos de ajuda

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

Confira também