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中使用斜体字符串?
没有找到相关结果
已邀请:
1 个回复
貉骂