Partilhar via


Expandir funções personalizadas com suplementos XLL

Observação

Um suplemento XLL é um ficheiro de suplemento do Excel com a extensão de ficheiro .xll. Um ficheiro XLL é um tipo de ficheiro DLL (Dynamic Link Library) que só pode ser aberto pelo Excel. Os ficheiros de suplemento XLL têm de ser escritos em C ou C++. Consulte Desenvolver XLLs do Excel para saber mais.

Se tiver suplementos XLL do Excel existentes, pode criar suplementos de função personalizada equivalentes com a API JavaScript do Excel para expandir as funcionalidades da solução para outras plataformas, como Excel na Web ou num Mac. No entanto, os suplementos da API JavaScript do Excel não têm todas as funcionalidades disponíveis nos suplementos XLL. Consoante a funcionalidade que a sua solução utiliza, o suplemento XLL pode proporcionar uma melhor experiência no Excel no Windows do que o suplemento API JavaScript do Excel.

Importante

A funcionalidade de suplemento equivalente é suportada pela seguinte plataforma e aplicações. Os suplementos COM não podem ser instalados em nenhuma outra plataforma, por isso, nessas plataformas, o elemento de manifesto que é abordado mais adiante neste artigo, EquivalentAddins, é ignorado.

  • Excel, Word e PowerPoint no Windows (Versão 1904 ou posterior)
  • Outlook Clássico no Windows (Versão 2102 ou posterior) numa versão suportada do Exchange Server
    • Exchange Online
    • Atualização Cumulativa 10 ou posterior do Exchange 2019 (KB5003612)
    • Atualização Cumulativa 21 ou posterior do Exchange 2016 (KB5003611)

Especificar XLL equivalente no manifesto

Para ativar a compatibilidade com um suplemento XLL existente, identifique o suplemento XLL equivalente no manifesto do suplemento da API JavaScript do Excel. Em seguida, o Excel utiliza as funções de suplemento XLL ao executar no Windows, em vez das funções personalizadas do suplemento API JavaScript do Excel.

Para definir o suplemento XLL equivalente para as suas funções personalizadas, especifique o FileName do ficheiro XLL. Quando o utilizador abre um livro com funções do ficheiro XLL, o Excel converte as funções em funções compatíveis. Em seguida, o livro utiliza o ficheiro XLL quando aberto no Excel no Windows, mas continua a utilizar funções personalizadas do suplemento da API JavaScript do Excel quando aberto na Web ou no Mac.

O exemplo seguinte mostra como especificar um suplemento COM e um suplemento XLL como equivalentes num ficheiro de manifesto de suplemento da API JavaScript do Excel. Muitas vezes, especifica ambos. Para concluir, este exemplo mostra ambos os equivalentes no contexto. São identificados pelos respetivos ProgId e FileName respetivamente. O EquivalentAddins elemento tem de ser posicionado imediatamente antes da etiqueta de fecho VersionOverrides . Para obter mais informações sobre a compatibilidade do suplemento COM, consulte Tornar o seu Suplemento do Office compatível com um suplemento COM existente.

<VersionOverrides>
  ...
  <EquivalentAddins>
    <EquivalentAddin>
      <ProgId>ContosoCOMAddin</ProgId>
      <Type>COM</Type>
    </EquivalentAddin>

    <EquivalentAddin>
      <FileName>contosofunctions.xll</FileName>
      <Type>XLL</Type>
    </EquivalentAddin>
  </EquivalentAddins>
</VersionOverrides>

Observação

Se um suplemento da API JavaScript do Excel declarar as suas funções personalizadas como compatíveis com um suplemento XLL, alterar o manifesto posteriormente poderá interromper o livro de um utilizador porque irá alterar o formato de ficheiro.

Comportamento da função personalizada para funções compatíveis com XLL

As funções XLL de um suplemento são convertidas em funções personalizadas compatíveis com XLL quando uma folha de cálculo é aberta e existe um suplemento equivalente disponível. Na próxima gravação, as funções XLL são escritas no ficheiro num modo compatível para que funcionem com as funções personalizadas do suplemento XLL e da API JavaScript do Excel (quando em plataformas não suportadas pelo XLL).

A tabela seguinte compara funcionalidades entre funções definidas pelo utilizador XLL, funções personalizadas compatíveis com XLL e funções personalizadas de suplemento da API JavaScript do Excel.

Função definida pelo utilizador XLL Funções personalizadas compatíveis com XLL Função personalizada do suplemento da API JavaScript do Excel
Plataformas compatíveis Windows Windows, macOS, browser Windows, macOS, browser
Formatos de ficheiro suportados XLSX, XLSB, XLSM, XLS XLSX, XLSB, XLSM XLSX, XLSB, XLSM
Conclusão automática de fórmulas Não Sim Sim
Streaming Possível através da chamada de retorno xlfRTD e XLL. Sim Sim
Localização de funções Não Não. O Nome e o ID têm de corresponder às funções do XLL existentes. Sim
Funções voláteis Sim Sim Sim
Suporte de recálculo com vários threads Sim Sim Sim
Comportamento de cálculo Sem IU. O Excel pode não responder durante o cálculo. Os utilizadores veem #BUSY! até que seja devolvido um resultado. Os utilizadores veem #BUSY! até que seja devolvido um resultado.
Conjuntos de requisitos N/D CustomFunctions 1.1 e posterior CustomFunctions 1.1 e posterior

Confira também