从Excel 2007调用Visual Studio Excel加载项

时间:2010-11-27 19:33:26

标签: visual-studio excel vba

我是非常新的Visual Studio(刚下载的版本是2010 Professional),但我相信这是在excel中进行Web服务的正确方法。

在Visual Studio中创建了一个名为TestAPI的Excel 2007加载项,其中只包含一个类ThisAddIn,2个默认的StartUp和Shutdown过程以及我自己编写的2个函数,比如f1和f2。

当我启动Excel 2007并检查Excel选项时,我可以将其视为COM添加,但是如何在VBA中看到这两个功能?对ThisAddIn或TestAPI或f1或f2的任何引用都会失败,但是如果我在StartUp函数中放入一些东西,那么每当我启动Excel时这将自动执行,我觉得这很烦人。似乎COM加载项在Excel级别打开/关闭,而我似乎无法在我的列表上的References上找到TestAPI(根据Excel工作表,我可以根据需要检查或取消选中它)。

我可能错过了一个(或多个)点。

2 个答案:

答案 0 :(得分:2)

Paul Stubbs提供了有关在his blog上从VBA调用VSTO UDF的一些信息。

或者,您可以尝试为Excel构建更加普通的COM加载项,如Eric Carter所述。

我个人对创建用户定义函数的偏好是使用ExcelDna

答案 1 :(得分:0)

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

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

(我不确定VSTO中是否需要Shared,我使用Addin Express,VSTO真是太痛苦了)