Excel 2007 UDF:如何添加函数描述,参数帮助?

说明 我在COM服务器中编写了几个Excel UDF。我想获得按fx时获得的标准帮助(“插入函数”对话框)。是的,我可以看到我的COM服务器列在类别下拉列表中,但是 我还看到Equals,GetHashCode,GetType和ToString(它们非常不适合暴露给Excel用户), 选择我的COM服务器会弹出* Function Arguments * [1]对话框,没有参数信息,也没有该函数的描述。 这是我得到的跛足: 插入函数对话框http://www.iwebthereforeiam.com/files/Insert%20function%20dialog.gif Excel函数参数对话框http://www.iwebthereforeiam.com/files/Function%20Arguments%20dialog.gif 这个问题 是否有.NET属性我可以把方法传递给Excel? 我可以提供功能说明吗? 我可以提供参数说明吗? 我可以为我的函数提供类别名称,这样我得到的东西比ProgID更好吗? (我发现在ExcelDNA中看起来很容易,但我不会那样做。模仿govert的代码[自定义属性,某种类型的加载器等]看起来很难。) 附加背景 如果您以前没有使用Excel + COM服务器,这里有一些有用的资源可以加快速度: 以前的StackOverflow问题: 如何在VB.NET中安装并在Automation Servers列表中注册的用于Excel的COM Server for Excel? 如何将COM暴露的.NET项目添加到VB6(或VBA)引用对话框? 其他资源: 在.NET中为Excel编写用户定义的函数 构建和部署.NET COM程序集 在C#中编写自定义Excel工作表函数 编辑2009-10-20 14:10 我试着在
Sub New()
中拨打
Application.MacroOptions
。 没有子新() 半可接受:功能列在ProgID类别下。 共享子新() 不可接受:构建时错误。无法注册程序集“... Foo.dll”。 调用的目标抛出了异常。 Sub New() 不可接受:“插入函数”对话框中未列出类别。 我怀疑这对于MacroOptions和Charles推荐的更复杂的路线都是一个问题。 编辑2009-10-20 14:55 从好的方面来说,Mike建议创建一个实现的接口确实可以消除暴露的烦人的额外方法。 编辑2009-10-20 15:00 这篇微软文章从2007年初开始(通过Mike的链接)似乎是一个相当完整的答案:   自动化加载项和功能   巫师      每个自动化加载项都有自己的   Excel函数向导中的类别。   类别名称是ProgID   加载项;你不能指定一个   自动化的不同类别名称   加载项功能。另外,那里   无法指定功能   描述,参数描述,   或帮助自动化加载项   功能向导中的功能。 1呵呵,一个StackOverFlow错误。看起来你不能在显式HTML ul-list中使用斜体字符串?     
已邀请:
你可以使用其中一个.Net Excel系统,如ExcelDNA或ADDIN Express,或尝试调整其中一个VBA / VB6解决方案:看看Laurent Longre的FunCustomise http://xcell05.free.fr/english/index.html 或Jan Karel Pieterse的文章http://www.jkp-ads.com/Articles/RegisterUDF00.asp 它使用函数重载hack。     

要回复问题请先登录注册