我是非常新的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工作表,我可以根据需要检查或取消选中它)。
我可能错过了一个(或多个)点。
答案 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真是太痛苦了)