Hi Govert,
I’ve always wanted to add a dropdown list for arguments with enumerable values to the IntelliSense component—just like Excel's native UDFs. As a non-professional developer, this always felt out of reach for me. However, thanks to the rapid advancements in LLMs, I’ve finally realized this dream over the past few days with the help of Gemini. Here is a quick look at how it works:

and this is the demo code:
[ExcelFunction(Category = "My test UDF", Description = "A UDF With Enum List")]
public static object MY_ADVANCED_LOOKUP(
[ExcelArgument(Name = "lookup_value", Description = "the value you want to look up")]
string lookupValue,
[ExcelArgument(Name = "lookup_array", Description = "the range to search")]
object[,] lookupArray,
[ExcelArgument(Name = "match_mode", Description = "match mode|[1:The Lower One, 2:The Bigger One, 3:The Exact One]")]
int matchMode,
[ExcelArgument(Name = "translate_language", Description = "translatelanguage|[\"en\":English, \"cn\":Chinese, \"fr\":French, \"jp\":Japanese]")]
string matchMode2)
{
if (matchMode == 0)
{
return "Mode 1";
}
else if (matchMode == 2)
{
return "Mode 2";
}
return "Mode 3";
}
I'm quite happy with how the code turned out. If this is something you'd be interested in, I’d be more than happy to share the implementation with you. (Since I'm not very familiar with Git or GitHub workflows, I'll probably just email you the source code directly).
That said, there is still a minor issue with this modified IntelliSense build. Whenever Excel starts up, the built-in Excel-DNA error dialog pops up with the following message:
Runtime [Error] Unhandled exception in async delegate call. : MissingMethodException - Method not found: 'Microsoft.Office.Interop.Excel.Application ExcelDna.Integration.ExcelDnaUtil.get_Application()'.
I consulted an AI about this, and it suggested a prospective dependency/version conflict. However, I’ve hit a brick wall trying to upgrade the ExcelDna.Integration reference in the IntelliSense project to the latest 1.10.0-preview4. Every time I build the project, the version automatically reverts back to 1.9.0-alpha3.
Do you have any insights or suggestions on how to resolve this?

Could you email me a copy of the code. It looks really interesting.
Thanks,
Lyle
Lyle Mariam
From: exce...@googlegroups.com <exce...@googlegroups.com> On Behalf Of Snake David
Sent: Wednesday, May 20, 2026 8:36 AM
To: Excel-DNA <exce...@googlegroups.com>
Subject: [ExcelDna] Re: Excel IntelliSense Enhancement and Debugging
I made a few more tweaks to the code. Now, a detailed description/info panel pops up on the right side of the dropdown list for the currently selected item.

在2026年5月20日星期三 UTC+5 20:19:43<Snake David> 写道:
I found the solution,which I need to change Directory.Build.targets and set the right version
在2026年5月19日星期二 UTC+5 17:57:17<Snake David> 写道:
Hi Govert,
I’ve always wanted to add a dropdown list for arguments with enumerable values to the IntelliSense component—just like Excel's native UDFs. As a non-professional developer, this always felt out of reach for me. However, thanks to the rapid advancements in LLMs, I’ve finally realized this dream over the past few days with the help of Gemini. Here is a quick look at how it works:
and this is the demo code:
[ExcelFunction(Category = "My test UDF", Description = "A UDF With Enum List")]
public static object MY_ADVANCED_LOOKUP(
[ExcelArgument(Name = "lookup_value", Description = "the value you want to look up")]
string lookupValue,
[ExcelArgument(Name = "lookup_array", Description = "the range to search")]
object[,] lookupArray,
[ExcelArgument(Name = "match_mode", Description = "match mode|[1:The Lower One, 2:The Bigger One, 3:The Exact One]")]
int matchMode,
[ExcelArgument(Name = "translate_language", Description = "translatelanguage|[\"en\":English, \"cn\":Chinese, \"fr\":French, \"jp\":Japanese]")]
string matchMode2)
{
if (matchMode == 0)
{
return "Mode 1";
}
else if (matchMode == 2)
{
return "Mode 2";
}
return "Mode 3";
}
I'm quite happy with how the code turned out. If this is something you'd be interested in, I’d be more than happy to share the implementation with you. (Since I'm not very familiar with Git or GitHub workflows, I'll probably just email you the source code directly).
That said, there is still a minor issue with this modified IntelliSense build. Whenever Excel starts up, the built-in Excel-DNA error dialog pops up with the following message:
Runtime [Error] Unhandled exception in async delegate call. : MissingMethodException - Method not found: 'Microsoft.Office.Interop.Excel.Application ExcelDna.Integration.ExcelDnaUtil.get_Application()'.
I consulted an AI about this, and it suggested a prospective dependency/version conflict. However, I’ve hit a brick wall trying to upgrade the ExcelDna.Integration reference in the IntelliSense project to the latest 1.10.0-preview4. Every time I build the project, the version automatically reverts back to 1.9.0-alpha3.
Do you have any insights or suggestions on how to resolve this?
--
You received this message because you are subscribed to the Google Groups "Excel-DNA" group.
To unsubscribe from this group and stop receiving emails from it, send an email to exceldna+u...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/exceldna/1badea17-c079-46c8-8e3e-829e6f679cd4n%40googlegroups.com.