Erweitern benutzerdefinierter Funktionen mit benutzerdefinierten XLL-Funktionen

Hinweis

Ein XLL-Add-In ist eine Excel-Add-In-Datei mit der Dateierweiterung .xll. Eine XLL-Datei ist ein Typ von DLL-Datei (Dynamic Link Library), die nur von Excel geöffnet werden kann. XLL-Add-In-Dateien müssen in C oder C++ geschrieben werden. Weitere Informationen finden Sie unter Entwickeln von Excel-XLLs .

Wenn Sie über vorhandene Excel XLL-Add-Ins verfügen, können Sie entsprechende benutzerdefinierte Funktions-Add-Ins mithilfe der Excel-JavaScript-API erstellen, um Ihre Lösungsfeatures auf andere Plattformen wie Excel im Web oder auf einem Mac zu erweitern. Excel-JavaScript-API-Add-Ins verfügen jedoch nicht über alle Funktionen, die in XLL-Add-Ins verfügbar sind. Abhängig von der Funktionalität, die Ihre Lösung verwendet, bietet das XLL-Add-In möglicherweise eine bessere Erfahrung in Excel unter Windows als das Excel-JavaScript-API-Add-In.

Wichtig

Das entsprechende Add-In-Feature wird von der folgenden Plattform und den folgenden Anwendungen unterstützt. COM-Add-Ins können nicht auf einer anderen Plattform installiert werden. Daher wird auf diesen Plattformen das Manifestelement ignoriert, EquivalentAddinsdas weiter unten in diesem Artikel erläutert wird.

  • Excel, Word und PowerPoint unter Windows (Version 1904 oder höher)
  • Outlook unter Windows (Version 2102 oder höher) für eine unterstützte Exchange-Serverversion
    • Exchange Online:
    • Exchange 2019 Kumulatives Update 10 oder höher (KB5003612)
    • Exchange 2016 Cumulative Update 21 oder höher (KB5003611)

Angeben einer entsprechenden XLL im Manifest

Um die Kompatibilität mit einem vorhandenen XLL-Add-In zu ermöglichen, identifizieren Sie das entsprechende XLL-Add-In im Manifest Ihres Excel-JavaScript-API-Add-Ins. Excel verwendet dann die XLL-Add-In-Funktionen, wenn sie unter Windows ausgeführt werden, anstelle der benutzerdefinierten Funktionen Ihres Excel-JavaScript-API-Add-Ins.

Um das entsprechende XLL-Add-In für Ihre benutzerdefinierten Funktionen festzulegen, geben Sie die FileName der XLL-Datei an. Wenn der Benutzer eine Arbeitsmappe mit Funktionen aus der XLL-Datei öffnet, konvertiert Excel die Funktionen in kompatible Funktionen. Die Arbeitsmappe verwendet dann die XLL-Datei, wenn sie in Excel unter Windows geöffnet wird, aber sie verwendet weiterhin benutzerdefinierte Funktionen aus Ihrem Excel JavaScript-API-Add-In, wenn sie im Web oder auf Mac geöffnet wird.

Das folgende Beispiel zeigt, wie Sie sowohl ein COM-Add-In als auch ein XLL-Add-In als Entsprechungen in einer Excel-JavaScript-API-Add-In-Manifestdatei angeben. Häufig geben Sie beides an. Aus Gründen der Vollständigkeit zeigt dieses Beispiel beide Entsprechungen im Kontext an. Sie werden durch ihre ProgId bzw FileName . identifiziert. Das EquivalentAddins Element muss unmittelbar vor dem schließenden VersionOverrides Tag positioniert werden. Weitere Informationen zur Com-Add-In-Kompatibilität finden Sie unter Machen Sie Ihr Office-Add-In mit einem vorhandenen COM-Add-In kompatibel.

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

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

Hinweis

Wenn ein Excel-JavaScript-API-Add-In seine benutzerdefinierten Funktionen als kompatibel mit einem XLL-Add-In deklariert, kann das Ändern des Manifests zu einem späteren Zeitpunkt die Arbeitsmappe eines Benutzers beeinträchtigen, da es das Dateiformat ändert.

Verhalten von benutzerdefinierten Funktionen für XLL-kompatible Funktionen

Die XLL-Funktionen eines Add-Ins werden in XLL-kompatible benutzerdefinierte Funktionen konvertiert, wenn ein Arbeitsblatt geöffnet wird und ein entsprechendes Add-In verfügbar ist. Beim nächsten Speichern werden die XLL-Funktionen in einem kompatiblen Modus in die Datei geschrieben, sodass sie sowohl mit dem XLL-Add-In als auch mit benutzerdefinierten Funktionen des Excel-JavaScript-API-Add-Ins (wenn sie auf plattformen funktionieren, die von XLL nicht unterstützt werden).

In der folgenden Tabelle werden Features zwischen benutzerdefinierten XLL-Funktionen, XLL-kompatiblen benutzerdefinierten Funktionen und benutzerdefinierten Excel-JavaScript-API-Add-In-Funktionen verglichen.

Benutzerdefinierte XLL-Funktion XLL-kompatible benutzerdefinierte Funktionen Benutzerdefinierte Funktion des Excel-JavaScript-API-Add-Ins
Unterstützte Plattformen Windows Windows, macOS, Webbrowser Windows, macOS, Webbrowser
Unterstützte Dateiformate XLSX, XLSB, XLSM, XLS XLSX, XLSB, XLSM XLSX, XLSB, XLSM
AutoVervollständigen von Formeln Nein Ja Ja
Streaming Möglich über xlfRTD und XLL-Rückruf. Ja Ja
Lokalisierung von Funktionen Nein Nein Name und ID müssen mit den vorhandenen XLL-Funktionen übereinstimmen. Ja
Veränderliche Funktionen Ja Ja Ja
Multithread-Neuberechnungsunterstützung Ja Ja Ja
Berechnungsverhalten Keine Benutzeroberfläche. Excel reagiert während der Berechnung möglicherweise nicht. Benutzer sehen #BUSY! bis ein Ergebnis zurückgegeben wird. Benutzer sehen #BUSY! bis ein Ergebnis zurückgegeben wird.
Anforderungssätze Nicht zutreffend CustomFunctions 1.1 und höher CustomFunctions 1.1 und höher

Siehe auch