我正在尝试在Excel 2010中编写一些VBA代码来调用Web服务,但是我无法在互联网上找到任何相关资源。请问有谁能告诉我如何实现呢?
我正在尝试在Excel 2010中编写一些VBA代码来调用Web服务,但是我无法在互联网上找到任何相关资源。请问有谁能告诉我如何实现呢?
我最近遇到了同样的问题,想要用纯VBA与Trello和Salesforce通信,而不安装任何插件、打开Visual Studio或其他方法。最终我写了自己的库(基于我最喜欢的库之一RestSharp)。
警告,这是个厚颜无耻的广告: https://github.com/VBA-tools/VBA-Web
一些有趣的特性包括Mac支持(!),身份验证 (Http基本认证, OAuth1, OAuth2等), 异步支持,并且由于VBA-JSON的帮助,还有JSON解析功能。
它在Excel 2010和2013(很可能也适用于2007)中工作得非常好,我已经成功地与Salesforce,Trello,Basecamp,Google Maps进行了通信,它应该可以与几乎所有网络服务一起使用。
据发布时的情况,我发现Excel 2003的旧Web References Toolkit仍然能够在Excel 2007/10中生成可用的VBA代码(请注意,在过去18个月中,由于各种Windows更新出现了一些不稳定的时刻,导致该代码无法工作,因此我不认为我的解决方案是“可靠的”)。
我的可怕的黑客方法包括安装Excel 2003,然后安装Web References Toolkit,然后再安装Excel 2007或Excel 2010。我使用这种黑客方式设置了3台PC,并且所有PC都可以生成可用的VBA代码来消耗asmx web服务(我还没有尝试连接其他类型的web服务,但我不认为它们不能工作)。
使用VSTO的官方MS方法对于我们的某些客户来说有点困难,而这种VBA黑客方法使他们感到满意。
Windows Communication Foundation (WCF) 服务代号可将 Web 服务集成到基于 COM 的开发环境中,例如 Microsoft Office Visual Basic for Applications (Office VBA) 或 Visual Basic 6.0。详情请参见链接 https://learn.microsoft.com/en-us/dotnet/framework/wcf/samples/using-the-wcf-moniker-with-com-clients