19

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

4

5 回答 5

38

我在最近的一个项目中遇到了同样的问题,我想在纯 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 一起使用,它几乎可以与任何 Web 服务一起使用。

于 2013-04-04T02:57:46.763 回答
7

我不认为标记为答案的帖子是正确的 - 它链接到 Excel 2003 解决方案,该解决方案基于 MS Office Web 服务工具包。该解决方案不再有效,因为不再支持 Toolkit。请参阅:MSDN - 在 Excel 2007 中使用 Web 服务。该链接为 Excel 2007 提供了一个解决方案,可以转换为 Excel 2010。不过,您将需要 Visual Studio 2010 和 Microsoft Office 开发人员工具。这也意味着使用 .Net Framework 和 C# 或 VB.NET 编码。

于 2011-04-12T10:36:31.300 回答
3

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

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

使用 VSTO 的官方 MS 方法对于我们的一些客户来说太过分了,而这个 VBA hack 让他们很高兴。

于 2012-07-22T19:53:04.610 回答
1

几年后...我发现这个页面是迄今为止我发现的最好和最清晰的解释和示例,其中包括一个有趣的链接,提供可以使用的服务

于 2016-06-30T11:37:20.777 回答
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

于 2017-09-14T10:37:08.940 回答