从Excel 2007调用Visual Studio Excel加载项

我是一个非常新的Visual Studio(刚刚下载的版本2010专业版),但我相信这是在Excel中做Web服务的正确方法。

在Visual Studio中创build了一个名为TestAPI的Excel 2007插件,其中只包含一个类ThisAddIn,两个默认的启动和closures过程以及我自己编写的两个函数,分别为f1和f2。

当我启动Excel 2007,并检查Excel选项,我可以看到它作为一个COM添加,但我怎么能看到这两个function在VBA? 任何对ThisAddIn或者TestAPI或者f1或者f2的引用都会失败,但是如果我把一些东西放到启动函数中的话,每当我启动Excel的时候,这个函数都会自动执行,这让我觉得很烦人。 看来,COM加载项打开/closures在Excel级别,而我似乎无法find我的列表上的任何地方引用(我可以根据需要检查或取消select取决于Excel工作表)的TestAPI。

我可能缺less一个(或多个)点。

Paul Stubbs在他的博客上有一些关于从VBA调用VSTO UDF的信息。

或者,您可以尝试为Excel创build一个更加香草的COM加载项,如Eric Carter所述 。

我个人喜欢创build用户定义的函数是使用ExcelDna 。

你宣布F1和F2公开? 在类ThisAddin中

Public Shared Function F1(x as Object) as Object Return x*2 End Function 

(我不确定在VSTO中是否需要共享,我使用Addin Express,VSTO是如此的痛苦)