You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I develop Excel-DNA, an Excel integration project similar to excel-d, but for the .NET languages.
One of the extensions I've made is an add-in that allows in-sheet IntelliSense for UDF functions similar to that displayed for the built-in Excel functions while typing a formula. The IntelliSense extension supports integration by other types of add-ins, not only those made with Excel-DNA. In particular, functions defined in VBA or through the native C API using any other language can also display their function descriptions through the Excel-DNA IntelliSense add-in.
For .xll-based add-ins like those made with excel-d, there are two integration options:
Next to MyAddIn.xll, place a file called MyAddIn.xll.intellisense.xml with some xml markup providing the function and argument descriptions. The xml content will be something like this
<IntelliSensexmlns="http://schemas.excel-dna.net/intellisense/1.0">
<FunctionInfo>
<FunctionName="MyDLanguageFunction"Description="A function implemented in D"HelpTopic="http://www.bing.com" >
<ArgumentName="FirstArg"Description="Whatever you want to put in here" />
<ArgumentName="AnotherArg"Description="Actually the second arg" />
</Function>
<FunctionName="AnotherFunction"Description="A function described in XML"HelpTopic="http://www.bing.com" >
<ArgumentName="FirstArg"Description="Whatever you want to put in here" />
<ArgumentName="AnotherArg"Description="Actually the second arg" />
</Function>
</FunctionInfo>
</IntelliSense>
Alternatively, you can create a special (hidden) function in the .xll add-in which is registered as a UDF with Excel and returns an array with the function registration information, as used in the xlfRegister calls to Excel. The registered function name will include a magic Guid that is derived from the .xll path - that's ow the IntelliSense extension find your info function. Details of the magic Guid, format of the table you should return and a sample implementation of the Guid calculation can be found in the RegistrationInfoGuid project.
Finally, after choosing either of the above options, you need to download the ExcelDna.IntelliSense.xll add-in from the GitHub Releases tab. This is the small add-in that provides the actual UI extensions. The (single-file) add-in can be renamed if you want to, and multiple instances (for example those embedded in other Excel-DNA add-ins) will negotiate among themselves to ensure that only one instance (with the latest version) will be active.
If you give the IntelliSense add-in a try and run into any issues with the D integration, I'd be very happy to help.
The text was updated successfully, but these errors were encountered:
Hi govert. Thanks for getting in touch. I'm a little familiar with Excel-DNA. Appreciate your thoughts. @atilaneves could we work on integrating these optionally ? Maybe ExcelDNA is defined or not as a version, and if it is the program that generates the .def file also creates the .intellisense.xml file. Or, it may be cleaner to go with the second option - just return the function registration info via special hidden function.
I develop Excel-DNA, an Excel integration project similar to excel-d, but for the .NET languages.
One of the extensions I've made is an add-in that allows in-sheet IntelliSense for UDF functions similar to that displayed for the built-in Excel functions while typing a formula. The IntelliSense extension supports integration by other types of add-ins, not only those made with Excel-DNA. In particular, functions defined in VBA or through the native C API using any other language can also display their function descriptions through the Excel-DNA IntelliSense add-in.
For .xll-based add-ins like those made with excel-d, there are two integration options:
MyAddIn.xll
, place a file calledMyAddIn.xll.intellisense.xml
with some xml markup providing the function and argument descriptions. The xml content will be something like thisxlfRegister
calls to Excel. The registered function name will include a magic Guid that is derived from the .xll path - that's ow the IntelliSense extension find your info function. Details of the magic Guid, format of the table you should return and a sample implementation of the Guid calculation can be found in the RegistrationInfoGuid project.Finally, after choosing either of the above options, you need to download the
ExcelDna.IntelliSense.xll
add-in from the GitHub Releases tab. This is the small add-in that provides the actual UI extensions. The (single-file) add-in can be renamed if you want to, and multiple instances (for example those embedded in other Excel-DNA add-ins) will negotiate among themselves to ensure that only one instance (with the latest version) will be active.If you give the IntelliSense add-in a try and run into any issues with the D integration, I'd be very happy to help.
The text was updated successfully, but these errors were encountered: