2009-06-22 69 views
3

我一直在使用Excel 2003的'Web Services Toolkit'来编写通过VBA连接到外部Web服务的电子表格。Excel 2007 - 与Web服务交流

(即,您安装了Web服务工具包,它将“Web服务引用...”项添加到“工具”菜单中。然后设置对Web服务URL的引用,并且工具包编写必要的代理类在VBA中为你做连接,Web服务方法出现在VBA中)

Excel 2007没有这个'Web Services Toolkit' - 或者至少我找不到类似的东西。我注意到我的Excel 2003工作表在2007年工作正常,所以必要的钩子在那里。

这引出我的问题 - 什么是在Excel 2007中与外部Web服务交谈的批准方式?我在网上找不到任何有用的东西?

谢谢...

SAL

回答

4

您有几种选择:

1)的Microsoft Office SOAP类型库3.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和它的Certificate snapin中。您必须将必要的CA添加到您的证书存储区,以确保.NET不会感到不适。