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.
As funções personalizadas que não utilizam um runtime partilhado dependem de um runtime apenas javaScript. Este runtime está otimizado para cálculo rápido, mas tem menos APIs disponíveis.
Importante
Observe que as funções personalizadas do Excel estão disponíveis nas plataformas a seguir.
- Office na Web
- Office no Windows
- Assinatura do Microsoft 365
- revenda perpétua do Office 2016 e posterior
- Office 2021 perpétuo/LTSC licenciado em volume e posterior
- Office no Mac
As funções personalizadas do Excel não são atualmente suportadas no seguinte:
- Office no iPad
- versões perpétuas licenciadas em volume do Office 2021 ou anterior no Windows
Observação
O manifesto unificado do Microsoft 365 não suporta atualmente projetos de funções personalizadas. Tem de utilizar o manifesto apenas de suplemento para projetos de funções personalizadas. Para obter mais informações, veja Manifesto de Suplementos do Office.
Observação
Recomendamos a utilização de funções personalizadas com um runtime partilhado, a menos que tenha um motivo específico para não utilizar um runtime partilhado. Para obter mais informações sobre runtimes, consulte Runtimes nos Suplementos do Office.
Este runtime apenas javaScript fornece acesso às APIs no OfficeRuntime espaço de nomes que podem ser utilizadas por funções personalizadas e pelo painel de tarefas (que é executado num runtime diferente) para armazenar dados.
Pedir dados externos
É possível solicitar dados externos em uma função personalizada por meio de uma API, como a API Fetch, ou por meio de um objeto XmlHttpRequest (XHR), uma API Web padrão que envia solicitações HTTP para interagir com os servidores.
Tenha em atenção que as funções personalizadas têm de utilizar medidas de segurança adicionais ao efetuar XmlHttpRequests, requerendo a Mesma Política de Origem e CORS simples.
Uma implementação CORS simples não pode utilizar cookies e só suporta métodos simples (, POST). A CORS simples aceita cabeçalhos simples com nomes de campos Accept, Accept-Language, Content-Language. Também pode utilizar um Content-Type cabeçalho em CORS simples, desde que o tipo de conteúdo seja application/x-www-form-urlencoded, text/plainou multipart/form-data.
Armazenar e aceder a dados
Numa função personalizada que não utiliza um runtime partilhado, pode armazenar e aceder a dados através do objeto OfficeRuntime.storage . O Storage objeto é um sistema de armazenamento de chave-valor persistente, não encriptado, que fornece uma alternativa ao localStorage, que não pode ser utilizado por funções personalizadas que utilizam o runtime apenas javaScript. O Storage objeto oferece 10 MB de dados por domínio. Os domínios podem ser partilhados por mais do que um suplemento.
O Storage objeto é uma solução de armazenamento partilhado, o que significa que várias partes de um suplemento podem aceder aos mesmos dados. Por exemplo, os tokens para autenticação de utilizador podem ser armazenados no Storage objeto porque podem ser acedidos por uma função personalizada (utilizando o runtime apenas javaScript) e um painel de tarefas (utilizando um runtime de webview completo). Da mesma forma, se dois suplementos partilharem o mesmo domínio (por exemplo, www.contoso.com/addin1, www.contoso.com/addin2), também podem partilhar informações de um lado para o outro através do Storage objeto. Tenha em atenção que os suplementos com subdomínios diferentes terão instâncias diferentes de Storage (por exemplo, subdomain.contoso.com/addin1, differentsubdomain.contoso.com/addin2).
Uma vez que o Storage objeto pode ser uma localização partilhada, é importante perceber que é possível substituir pares chave-valor.
Os seguintes métodos estão disponíveis no Storage objeto .
getItemgetItemssetItemsetItemsremoveItemremoveItemsgetKeys
Observação
Não existe nenhum método para limpar todas as informações (como clear). Em vez disso, use removeItems para remover várias entradas de uma só vez.
Exemplo de OfficeRuntime.storage
O seguinte exemplo de código chama o OfficeRuntime.storage.setItem método para definir uma chave e um valor em storage.
function StoreValue(key, value) {
return OfficeRuntime.storage.setItem(key, value).then(function (result) {
return "Success: Item with key '" + key + "' saved to storage.";
}, function (error) {
return "Error: Unable to save item with key '" + key + "' to storage. " + error;
});
}
Comparar com o runtime partilhado
Precisa de integração da IU ou Office.js objetos e eventos? Mova essas funções para um runtime partilhado.
Próximas etapas
Saiba como depurar funções personalizadas.