Compartilhar via


Visão geral de funções definidas pelo usuário do JavaScript

As UDFs (funções definidas pelo usuário) javaScript são novas em Serviços do Excel no SharePoint. Este artigo fornece uma visão de alto nível UDFs JavaScript, inclusive informações básicas sobre como eles funcionam no Excel Services.

Observação

Se você estiver procurando informações sobre funções personalizadas javaScript para suplementos do Office, confira: Criar funções personalizadas no Excel.

Cite UDFs.

Uma função definida pelo usuário (UDF) é uma função que podem ser criados por você e, em seguida, adicionar à lista de funções disponíveis no Excel quando Excel não oferece o tipo de função que você deseja que direita imediato.

Excel Services already allows you to create UDFs using managed code, so if you have worked with the existing Excel Services UDFs, JavaScript UDFs should look familiar to you. Para obter mais informações sobre como criar UDFs usando código gerenciado, consulte Serviços do Excel User-Defined Functions.

UDFs de JavaScript

UDFs de JavaScript são UDFs que são executados no navegador em uma página da Web que tenha uma pasta de trabalho incorporado Excel. Use o UDF JavaScript dentro da pasta de trabalho incorporada. Enquanto você estiver trabalhando com a pasta de trabalho no navegador, você pode usar JavaScript UDF exatamente como se você usar as funções internas Excel. Quando a página da Web é fechada, o UDF JavaScript não está mais disponível.

Como funcionam os UDFs JavaScript?

Para usar um UDF JavaScript, você precisa ter a capacidade de modificar o conteúdo de página da Web onde você incorporar a pasta de trabalho. Depois que você faz referência o arquivo de origem do JavaScript correto Excel Services, você adicionar seu código JavaScript UDF para a página. Além disso, antes de usar seu UDF JavaScript, primeiro você precisa registrar o UDF com o Excel Calculation Services. A API do JavaScript UDF fornece métodos para registrar e cancelar o registro de suas UDF JavaScript.

Quando a página da Web com a Web Part do Excel Web Access ou renderizações de pasta de trabalho inseridas, você pode invocar o UDF javaScript na pasta de trabalho, assim como qualquer outra pasta de trabalho do Excel.

Por exemplo, você pode ter uma função que obtém o preço de estoque atual de uma ação específica. Você pode adicionar um JavaScript UDF para a página da Web que hospeda sua Excel pasta de trabalho (supondo que você tem a criação de direitos da página da Web) que usa o código de JavaScript da seguinte maneira.


function StockInfo(symbol, measure) {
  var req = new XMLHttpRequest();
  req.open('GET', 'http://www.contoso-stock-quotes.com/quote/' + symbol + '/' + measure, false); 
  req.send(null);
  if (req.status == 200) {
    return req.responseText;
  } else {
    throw new Error(ExcelCalcError.Value);
  }
 
ewa.BrowserUdfs.add("StockQuote",
                       StockInfo,
                       "Gets a stock quote given a security symbol and measure to return."
                       false,
                       false
                       );

Em seguida, você poderia chamar o UDF JavaScript, StockInfo, em uma fórmula de uma célula dentro de Excel Online.

Figura 1. UDF do JavaScript invocado no Excel Online

JavaScript UDF sendo chamado no Excel Online

Onde posso usar JavaScript UDFs?

Você pode criar e usar UDFs JavaScript em pastas de trabalho exibidas em Web parts do SharePoint Excel Web Access ou em uma página da Web host que tem uma pasta de trabalho inserida. A pasta de trabalho deve ser armazenada em Microsoft OneDrive. A principal diferença é que os UDFs JavaScript adicionados às Web Parts do Excel Web Access exigem um servidor do SharePoint. UDFs de JavaScript adicionados às páginas da Web de host que tiverem incorporado pastas de trabalho exigir apenas que a pasta de trabalho ser armazenados em OneDrive.

Principais pontos

  • UDFs de JavaScript live apenas enquanto estiverem em página da Web que está sendo exibida. Eles não persistem além do tempo de vida de página da Web onde eles foram criados.

  • Você não pode fazer chamadas para o modelo de objeto JavaScript de Excel Services de dentro de um UDF JavaScript.

Confira também