Search code examples
office-jsoffice-addinscustom-functions-excel

How can I create UI-less custom function Excel add-ins?


In the "Custom Functions' section of the Excel API documentation, there is a subsection for "UI-less custom functions". However, while they talk about authentication issues, how to debug, and runtime differences, they never explicitly state how to create such a project. How is this done?

Just for the sake of clarity, I'm hoping to create an Excel add-in that provides a few custom functions but does not have a taskpane and thus (hopefully) does not require a web server to serve the corresponding html to end users. Is this within the scope of a UI-less custom function?


Solution

  • Custom Functions require 2 additional files regardless of any UI features (taskpane, ribbon, etc.). Those are:

    1. The Metadata (JSON) file. Defines the function signatures.
    2. Either the Script (JS) file or the Page (HTML) file. Contains the function implementations. If you have a default Runtime, Script will be used. If you have a Shared Runtime, Page will be used.

    So, you will have to serve 2 additional files. Luckily, those files are static and could be served from any public location like OneDrive or GitHub.

    To make your add-in, UI-less, just don't include any UI definitions for taskpane, tabs, menus, etc. in the manifest. There isn't anything special.