Excel IntelliSense Enhancement and Debugging

67 views
Skip to first unread message

Snake David

unread,
May 19, 2026, 8:57:17 AM (4 days ago) May 19
to Excel-DNA

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:

enum list.gif

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?

Snake David

unread,
May 20, 2026, 11:19:43 AM (3 days ago) May 20
to Excel-DNA

I found the solution,which I need to change Directory.Build.targets and set the right version

Snake David

unread,
May 20, 2026, 11:36:29 AM (3 days ago) May 20
to Excel-DNA

  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.  
GIF 2026-5-20 20-32-47.gif

ly...@host2.com

unread,
May 21, 2026, 1:01:53 PM (2 days ago) May 21
to exce...@googlegroups.com

Could you email me a copy of the code. It looks really interesting.

 

 

Thanks,

 

Lyle

Lyle Mariam

Ly...@host2.com

 

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.  

2026520日星期三 UTC+5 20:19:43<Snake David> 写道:


I found the solution,which I need to change Directory.Build.targets and set the right version

2026519日星期二 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.

image001.gif

Snake David

unread,
May 22, 2026, 12:15:30 AM (yesterday) May 22
to Excel-DNA
sent,plz check
Reply all
Reply to author
Forward
0 new messages