在Excel 2010中使用VBA代码调用Web服务

时间:2010-08-19 12:45:50

标签: excel vba web-services excel-2010 office-2010

我正在尝试在Excel 2010中编写一些使用Web服务的VBA代码。我无法在互联网上找到任何相关资源。有人可以告诉我怎么做。

5 个答案:

答案 0 :(得分:34)

我在最近的一个项目中遇到了同样的问题,我想在纯VBA中与Trello和Salesforce交谈,而无需安装任何插件,打开Visual Studio或其他黑客。结束了我自己的库(基于我最喜欢的一个,RestSharp)。

警告,无耻插件:https://github.com/VBA-tools/VBA-Web

一些有趣的功能包括Mac支持(!),身份验证(Http Basic,OAuth1,OAuth2等),异步支持和JSON解析(感谢VBA-JSON

它在Excel 2010和2013(最有可能是2007年)中的工作非常棒,而且我已经使用它与Salesforce,Trello,Basecamp,Google Maps一起使用,它应该可以与任何网络服务一起使用。

答案 1 :(得分:8)

我不认为标记为答案的帖子是正确的 - 它链接到Excel 2003解决方案,该解决方案基于MS Office Web服务工具包。该解决方案不再有效,因为不再支持Toolkit。见:MSDN - Consuming Web Services in Excel 2007。该链接提供了Excel 2007的解决方案,可以转换为Excel 2010.但是,您需要Visual Studio 2010和Microsoft Office Developers Tools。它还意味着在C#或VB.NET中使用.Net Framework和编码。

答案 2 :(得分:3)

截至发布时FWIW我发现Excel 2003旧的Web References Toolkit仍在Excel 2007/10中生成可用的VBA代码(请注意,在过去的18个版本中,各种Windows更新都出现了一些不稳定的时刻几个月已停止此代码工作,所以我不认为我的解决方案“可靠”。)

我可怕的黑客攻击涉及安装Excel 2003,然后是Web References Toolkit,然后安装Excel 2007或Excel 2010.我已经使用这个hack设置了3台PC,并且所有正在生成工作的VBA代码以使用asmx Web服务(我没有尝试连接其他类型的Web服务,但我不明白为什么它们不起作用。

使用VSTO的官方MS方法对我们的一些客户来说是一个太过分了,这个VBA黑客让他们感到高兴。

答案 3 :(得分:0)

几年后......我发现this page这是迄今为止我发现的最好,最清晰的解释和示例,包括an interesting link providing services to play with

答案 4 :(得分:0)

Windows Communication Foundation(WCF)服务名称,用于将Web服务集成到基于COM的开发环境中,例如Microsoft Office Visual Basic for Applications(Office VBA)或Visual Basic 6.0。 有关详细信息,请参阅链接https://docs.microsoft.com/en-us/dotnet/framework/wcf/samples/using-the-wcf-moniker-with-com-clients