在Excel 2007中使用VSTO 2008外接程序将.NET方法表示为UDF

我们有一个现有的加载项,我们通过点击一次发布给用户。 我们现在想用它作为一种工具,将一些现有的C#方法直接发布到Excel中,以便用户可以将它们称为UDF。

例如 – 我有一个名为MyAssembly的程序集,它具有一个名为MyClass的类,它具有一个名为MyMethod的公共方法。 我也有一个Excel插件,它增加了一些项目function区的一些自定义function。 现在我想用我现有的插件发布MyAssembly,这样安装了插件的人可以将= MyMethodinput到一个单元格中并让我的自定义方法运行。

怎么会这样做?

我通过使用ExcelDna(一个非常简单易用的开源XLL实现)相当全面地解决了这个问题,并且几乎完全避免了整个COM崩溃。 到目前为止,它完全符合我们的要求…

http://groups.google.com/group/exceldna

你对于你想做的事情一直没有很详细的说明。 你是什​​么意思“用户可以称之为”?

如果你的意思是加载项方法应该暴露给VBA,你可以在这里find两篇文章: