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

有帮助吗?

解决方案

我认为该帖子标记为答案是正确的 - 它链接到基于MS Office Web Services工具包的Excel 2003解决方案。该解决方案不再有效,因为不再支持该工具包。看: MSDN-在Excel 2007中消费Web服务. 。该链接为Excel 2007提供了一个解决方案,可以将其转换为Excel2010。您将需要Visual Studio 2010带有Microsoft Office Developers工具。这也意味着在C#或VB.NET中使用.NET框架和编码。

其他提示

我在我最近的一个项目上挣扎着同样的问题,我想在纯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一起工作,并且应该与任何WebService一起使用。

FWIW截至发布时,我发现Excel 2003的旧Web参考工具包仍然在Excel 2007/10中生成工作VBA代码(请注意,在过去的18个月中,有一些摇摇欲坠的时刻,有各种Windows更新停止此代码工作,因此我不会考虑我的解决方案“可靠”)。

我可怕的黑客涉及安装Excel 2003,然后是Web参考工具包,然后安装Excel 2007或Excel2010。我已经使用此hack设置了3台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://docs.microsoft.com/en-us/dotnet/framework/wcf/samples/using-the-wcf-moniker-with-com-clients

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top