如何从Excel 2003 VBA调用WCF客户端?

Pla*_*Kid 12 excel wcf vba web-services excel-vba

问的问题是,如何从Excel 2003 VBA调用WCF客户端?

我看到有一个地方可以调用Web服务,但是我已经通过Google搜索了,我得到的所有结果都无法从VBA调用WCF客户端.

在我对代码做任何事情之前,我想知道使用什么方法,不想浪费时间并且稍后发现不可能这样做.

Dam*_*ian 12

您可能希望查看使用WCF服务Moniker,它允许您从VBA调用WCF服务,而无需在.NET Framework以外的Excel客户端计算机上安装任何内容.

Dim addr As String
addr = "service:mexAddress=""net.tcp://localhost:7891/Test/WcfService1/Service1/Mex"","
addr = addr + "address=""net.tcp://localhost:7891/Test/WcfService1/Service1/"","
addr = addr + "contract=""IService1"", contractNamespace=""http://tempuri.org/"","
addr = addr + "binding=""NetTcpBinding_IService1"",bindingNamespace=""http://tempuri.org/"""

Dim service1 As Object
Set service1 = GetObject(addr)

MsgBox service1.GetData(12)
Run Code Online (Sandbox Code Playgroud)

我已经写出了一个完整的分步示例.

/达米安


Cwo*_*woo 2

我尝试了很长一段时间从 excel vba 调用基于 SOAP 的 wcf 服务,但没有任何运气。

相反,我将服务更改为 REST 绑定 (webHttpBinding)。这样我就可以将数据直接加载到 xml 映射中,就像加载任何其他 xml 文件一样。对我来说效果很好,但我只是想导入一些数据。

至于 SOAP;这个问题的答案提到了 Web Services Toolkit 我能找到建议使用的所有示例。