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.
Ao criar um suplemento usando as APIs JavaScript do Office específicas do aplicativo, inclua a lógica de tratamento de erros para levar em conta os erros de tempo de execução. Fazer isso é fundamental, devido à natureza assíncrona das APIs.
Práticas recomendadas
Em nossos exemplos de código e snippets do Script Lab, você notará que cada chamada para Excel.run, PowerPoint.runou Word.run é acompanhada por uma catch instrução para capturar erros. Recomendamos que você use o mesmo padrão ao criar um suplemento usando as APIs específicas do aplicativo.
$("#run").on("click", () => tryCatch(run));
async function run() {
await Excel.run(async (context) => {
// Add your Excel JavaScript API calls here.
// Await the completion of context.sync() before continuing.
await context.sync();
console.log("Finished!");
});
}
/** Default helper for invoking an action and handling errors. */
async function tryCatch(callback) {
try {
await callback();
} catch (error) {
// Note: In a production add-in, you'd want to notify the user through your add-in's UI.
console.error(error);
}
}
Erros de API
Quando uma solicitação de API JavaScript do Office não é executada com êxito, a API retorna um objeto de erro que contém as propriedades a seguir.
code: a
codepropriedade de uma mensagem de erro contém uma cadeia de caracteres que faz parte deOfficeExtension.ErrorCodesou{application}.ErrorCodesonde {application} representa o Excel, o PowerPoint ou o Word. Por exemplo, o código de erro "InvalidReference" indica que a referência não é válida para a operação especificada. Os códigos de erro não são localizados.message: A propriedade
messagede uma mensagem de erro contém um resumo do erro na cadeia de caracteres localizada. A mensagem de erro não se destina ao consumo dos usuários finais; Você deve usar o código de erro e a lógica de negócios apropriada para determinar a mensagem de erro que seu suplemento mostra aos usuários finais.debugInfo: Quando presente, a propriedade
debugInfoda mensagem de erro fornece informações adicionais que você pode usar para compreender a causa raiz do erro.
Observação
Se for console.log() para imprimir mensagens de erro no console, essas mensagens só ficarão visíveis no servidor. Os usuários finais não veem essas mensagens de erro no painel de tarefas do suplemento ou em qualquer lugar no aplicativo do Office. Para relatar erros ao usuário, consulte Notificações de erro.
Mensagens e códigos de erro
As tabelas a seguir listam os erros que as APIs específicas do aplicativo podem retornar.
Observação
As tabelas a seguir listam mensagens de erro que você pode encontrar ao usar as APIs específicas do aplicativo. Se você estiver trabalhando com a API Comum, consulte Códigos de erro da API Comum do Office para saber mais sobre as mensagens de erro relevantes.
| Código de erro | Mensagem de erro | Observações |
|---|---|---|
AccessDenied |
Você não pode realizar a operação solicitada. | Isso pode ser causado pelo software antivírus de um usuário bloqueando partes do Office. Consulte erros comuns e etapas de solução de problemas para "Erro: acesso negado" para obter mais diretrizes. |
ActivityLimitReached |
O limite de atividades foi alcançado. | Nenhum |
ApiNotAvailable |
A API solicitada não está disponível. | Nenhum |
ApiNotFound |
Não foi possível encontrar a API que você está tentando usar. Ele pode estar disponível em uma versão mais recente do aplicativo do Office. Confira Disponibilidade de aplicativos e plataformas cliente do Office para Suplementos do Office para obter mais informações. | Nenhum |
BadPassword |
A senha fornecida está incorreta. | Nenhum |
Conflict |
A solicitação não pôde ser processada devido a um conflito. | Nenhum |
ContentLengthRequired |
Um Content-length cabeçalho HTTP está ausente. |
Nenhum |
GeneralException |
Ocorreu um erro interno ao processar a solicitação. | Nenhum |
HostRestartNeeded |
O aplicativo do Office precisa ser reiniciado. | Esse erro será gerado pelo método Office.ribbon.requestUpdate() se o suplemento que chama o método tiver sido atualizado desde que o aplicativo do Office foi iniciado. |
InsertDeleteConflict |
A tentativa de operação de exclusão ou inserção resultou em um conflito. | Nenhum |
InvalidArgument |
O argumento é inválido, está ausente ou tem um formato incorreto. | Nenhum |
InvalidBinding |
Esta associação de objetos não é mais válida devido às atualizações anteriores. | Nenhum |
InvalidOperation |
A tentativa de operação é inválida no objeto. | Nenhum |
InvalidReference |
Esta referência não é válida para a operação atual. | Nenhum |
InvalidRequest |
Não é possível processar a solicitação. | Nenhum |
InvalidRibbonDefinition |
O Office recebeu uma definição de faixa de opções inválida. | Este erro será gerado se um RibbonUpdateObject inválido for passado para o método Office.ribbon.requestUpdate(). |
InvalidSelection |
A seleção atual é inválida para esta operação. | Nenhum |
ItemAlreadyExists |
O recurso que está sendo criado já existe. | Nenhum |
ItemNotFound |
O recurso solicitado não existe. | Nenhum |
MemoryLimitReached |
O limite de memória foi atingido. Sua ação não pôde ser concluída. | Nenhum |
NotImplemented |
O recurso solicitado não foi implementado. | Isso pode significar que a API está em versão prévia ou tem suporte apenas em uma plataforma específica (como somente online). Confira Disponibilidade de aplicativos e plataformas cliente do Office para Suplementos do Office para obter mais informações. |
RequestAborted |
A solicitação foi anulada durante o tempo de execução. | Nenhum |
RequestPayloadSizeLimitExceeded |
O tamanho da carga da solicitação excedeu o limite. Consulte o artigo Limites de recursos e otimização de desempenho para suplementos do Office para obter mais informações. | Esse erro ocorre apenas no Office na Web. |
ResponsePayloadSizeLimitExceeded |
O tamanho da carga de resposta excedeu o limite. Consulte o artigo Limites de recursos e otimização de desempenho para suplementos do Office para obter mais informações. | Esse erro ocorre apenas no Office na Web. |
ServiceNotAvailable |
O serviço não está disponível. | Nenhum |
Unauthenticated |
Informações de autenticação necessárias estão ausentes ou inválidas. | Nenhum |
UnsupportedFeature |
A operação falhou porque a planilha de origem contém um ou mais recursos sem suporte. | Nenhum |
UnsupportedOperation |
Não há suporte para a operação que está sendo tentada. | Nenhum |
Mensagens e códigos de erro específicos do Excel
| Código de erro | Mensagem de erro | Observações |
|---|---|---|
EmptyChartSeries |
A operação tentada falhou porque a série do gráfico está vazia. | Nenhum |
FilteredRangeConflict |
A operação tentada causa um conflito com um intervalo filtrado. | Nenhum |
FormulaLengthExceedsLimit |
O bytecode da fórmula aplicada excede o limite de comprimento máximo. Para o Office em máquinas de 32 bits, o limite de comprimento do bytecode é de 16384 caracteres. Em computadores de 64 bits, o limite de comprimento do código de bytes é de 32768 caracteres. | Esse erro ocorre no Excel na Web e na área de trabalho. |
GeneralException |
Vários. | As APIs de tipos de dados retornam GeneralException erros com mensagens de erro dinâmicas. Essas mensagens fazem referência à célula que é a origem do erro e ao problema que está causando o erro, como: "A célula A1 não tem a propriedade typenecessária". |
InactiveWorkbook |
A operação falhou porque várias pastas de trabalho estão abertas e a pasta de trabalho que está sendo chamada por essa API perdeu o foco. | Nenhum |
InvalidOperationInCellEditMode |
A operação não estará disponível enquanto o Excel estiver no modo Editar célula. Saia do modo de Edição usando as teclas Enter ou Tab ou selecionando outra célula e tente novamente. | Nenhum |
MergedRangeConflict |
Não é possível concluir a operação. Uma tabela não pode sobrepor-se a outra tabela, a um relatório de Tabela Dinâmica, a resultados de consultas, a células mescladas ou a um Mapa XML. | Nenhum |
NonBlankCellOffSheet |
O Microsoft Excel não pode inserir novas células porque isso empurraria as células não vazias para fora do final da planilha. Essas células não vazias podem parecer vazias, mas têm valores em branco, alguma formatação ou uma fórmula. Exclua linhas ou colunas suficientes para liberar espaço para o que você deseja inserir e tente novamente. | Nenhum |
OperationCellsExceedLimit |
A operação tentada afeta mais do que o limite de 33554000 células. | Se esse TableColumnCollection.add API erro for disparado, confirme se não há dados não intencionais na planilha, mas fora da tabela. Em particular, marque os dados nas colunas mais à direita da planilha. Remova os dados não intencionais para resolver esse erro. Uma maneira de verificar quantas células uma operação processa é executar o seguinte cálculo: (number of table rows) x (16383 - (number of table columns)). O número 16383 é o número máximo de colunas que o Excel dá suporte. Esse erro ocorre apenas no Excel na Web. |
PivotTableRangeConflict |
A operação tentada causa um conflito com um intervalo da Tabela Dinâmica. | Nenhum |
RangeExceedsLimit |
A contagem de células no intervalo excedeu o número máximo com suporte. Consulte o artigo Limites de recursos e otimização de desempenho para suplementos do Office para obter mais informações. | Nenhum |
RefreshWorkbookLinksBlocked |
A operação falhou porque o usuário não concedeu permissão para atualizar links externos da pasta de trabalho. | Nenhum |
UndoNotSupported |
A solicitação da API JavaScript falhou devido à falta de suporte para a operação desfazer. | Nenhum |
UnsupportedSheet |
Este tipo de planilha não suporta esta operação, pois é uma planilha de Macro ou Gráfico. | Nenhum |
Mensagens e códigos de erro específicos do Word
| Código de erro | Mensagem de erro | Observações |
|---|---|---|
SearchDialogIsOpen |
A caixa de diálogo de pesquisa está aberta. | Nenhum |
SearchStringInvalidOrTooLong |
A cadeia de caracteres de pesquisa é inválida ou muito longa. | O máximo de cadeia de caracteres de pesquisa é de 255 caracteres. |
Notificações de erro
A maneira como você relata erros aos usuários depende do sistema de interface do usuário que você está usando.
Se você estiver usando o React como o sistema de interface do usuário, use os componentes de interface do usuário do Fluent e os elementos de design. Recomendamos que as mensagens de erro sejam transmitidas com um componente Dialog . Se o erro estiver na entrada do usuário, configure o componente de entrada para exibir o erro como texto vermelho em negrito.
Observação
O componente Alerta também pode ser usado para relatar erros aos usuários, mas atualmente está em versão prévia e não deve ser usado em um suplemento de produção. Para obter informações sobre o status da versão, consulte o Roteiro do Componente React v9 da IU do Fluent.
Se você não estiver usando o React para a interface do usuário, considere usar os componentes mais antigos da interface do usuário do Fabric implementados diretamente em HTML e JavaScript. Alguns modelos de exemplo estão no repositório Office-Add-in-UX-Design-Patterns-Code . Dê uma olhada especialmente nas subpastas de diálogo e navegação. O exemplo Excel-Add-in-SalesLeads usa uma faixa de mensagem.