我已经使用Excel 2003的“Web服务工具包”一段时间来编写通过VBA连接到外部Web服务的电子表格。
(即您安装了Web服务工具包,它将“Web服务引用...”项添加到“工具”菜单中。然后设置对Web服务URL的引用,并且Toolkit将所需的代理类写入VBA为您进行连接。然后,Web服务方法出现在VBA中。)
Excel 2007没有这个“Web服务工具包” - 或者至少我找不到类似的东西。我注意到我的Excel 2003表在2007年工作正常,所以必要的钩子就在那里。
这让我想到了一个问题 - 在Excel 2007中与外部Web服务进行通信的批准方式是什么?我在网上找不到任何有用的东西?
...谢谢
SAL
答案 0 :(得分:4)
您有几种选择:
1)Microsoft Office Soap Type Library v3.0(如上所述)。简单,简单,在VBA中运行良好,完全没用,因为它不支持WS-Security。如果您在没有WS-Security的情况下使用SOAP,那么您就是在浪费时间。
2)使用COM Interop将C#lib暴露给Excel。公开程序集以便在VBA中使用它相对简单 - 允许在VBA中使用WSE 3.0 / WCF。装配必须具有强大的命名。
3)Visual Studio模板。这些模板将电子表格中的C#(或任何其他CLR语言)集成为程序集。最佳集成形式,允许从Excel(或Word,PowerPoint等)完全访问.NET框架。模板仅在Visual Studio Team Suite中可用。
如果你确实添加了安全性(即使只是HTTPS),你需要确保你知道你已经绕过MMC及其证书管理单元了。您必须将必要的CA添加到证书存储中,以确保.NET不会开始烦恼。