Search code examples
exceloffice-jscustom-functioncustom-functions-exceladdin-express

How to match XLL for XLL compatible custom functions [Spoiler: you don't]


To enable compatibility with an existing XLL, I want to identify the equivalent XLL in the manifest of my Excel add-in. My existing add-in is using XLL technology, but it does this by using 3rd party libraries of Add-In Express. So in my case the custom functions also are contained in the dll which also contains the COM UI part of the add-in. So I have no physical xll file.

Since I found the information that for equivalent COM add-ins, Excel searches in the following locations for a matching ProgId

  • Computer\HKEY_CURRENT_USER\Software\Microsoft\Office\Excel\Addins
  • Computer\HKEY_LOCAL_MACHINE\Software\Microsoft\Office\Excel\Addins

What is the respective location where Excel is looking for matching XLL files?

I would like to have a look what Add-In-Express adds there, to then use it to reference it as FileName for the XLL equivalent.


Solution

  • To enable XLL compatible custom functions for your Office-JS-Excel add-in, add the respective EquivalentAddin tag to your manifest as described in the documentation.

    https://learn.microsoft.com/en-us/office/dev/add-ins/excel/make-custom-functions-compatible-with-xll-udf

    The declaration of an EquivalentAddin of type XLL enables compatibility. If there are XLL custom functions, they are matched by function name only, there is no matching to a specific XLL. So it doesn't matter what you put into the FileName tag.