代码之家  ›  专栏  ›  技术社区  ›  Aadith Ramia

使用Excel2010中的VBA代码调用Web服务

  •  17
  • Aadith Ramia  · 技术社区  · 14 年前

    我正在尝试在Excel2010中编写一些使用Web服务的VBA代码。我在网上找不到任何相关的资源。有人能告诉我怎么做吗?

    5 回复  |  直到 6 年前
        1
  •  8
  •   Juliusz    13 年前

    我认为标记为答案的帖子是不对的——它链接到Excel2003解决方案,该解决方案基于MS Office Web Services工具包。该解决方案不再有效,因为不再支持该工具包。见: MSDN - Consuming Web Services in Excel 2007 . 该链接为Excel2007提供了一个解决方案,可以将其转换为Excel2010。不过,您需要使用带有Microsoft Office开发人员工具的Visual Studio 2010。它还意味着使用.NET框架并在C或VB.NET中进行编码。

        2
  •  34
  •   Tim Hall    10 年前

    在最近的一个项目中,我也遇到了同样的问题,我想在纯vba中与Trello和Salesforce交谈,而不需要安装任何插件、打开Visual Studio或其他黑客程序。最后写了我自己的图书馆(主要基于我最喜欢的一个,restsharp)。

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

    一些有趣的功能包括Mac支持!!),身份验证(HTTP基本、OAuth1、OAuth2和其他)、异步支持和JSON解析(感谢 VBA-JSON )

    它在Excel2010和2013(最有可能是2007)中工作得非常出色,我已经让它与Salesforce、Trello、Basecamp、Google Maps一起工作,而且它几乎可以与任何Web服务一起工作。

        3
  •  3
  •   SAL    12 年前

    截至发帖之时,我发现Excel2003的旧Web参考工具包仍然可以在Excel2007/10中生成可工作的VBA代码(请注意,过去18个月里,各种Windows更新的一些不稳定时刻已经停止了该代码的工作,因此我不认为我的解决方案是“可靠的”)。

    我的骇人听闻的黑客包括安装Excel2003,然后安装Web参考工具包,然后安装Excel2007或Excel2010。我已经用这个黑客设置了3台电脑,所有这些电脑都在生成工作的vba代码来使用asmx网络服务(我没有尝试连接其他类型的网络服务,但我不明白它们为什么不能工作)。

    使用vsto的官方ms方法对我们的一些客户来说太远了,这个vba黑客让他们高兴。

        4
  •  0
  •   iDevlop    8 年前

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

        5
  •  0
  •   Muhammad Yaseen    7 年前

    Windows通信基础(WCF)服务名称,将Web服务集成到基于COM的开发环境中,如微软Office VisualBasic作为应用程序(Office VBA)或Visual Basic 6。 有关详细信息,请参见链接 https://docs.microsoft.com/en-us/dotnet/framework/wcf/samples/using-the-wcf-moniker-with-com-clients