【问题标题】:How do we use restful APIs from Excel macros (vba)?我们如何使用 Excel 宏 (vba) 中的 RESTful API?
【发布时间】:2016-11-09 20:23:52
【问题描述】:

是否有插件或库可用于从 excel 访问 RESTful API(可能使用宏),然后将响应存储在某处(可能在工作表中)。

请原谅缺少的示例代码。我不是 VBA 程序员。

【问题讨论】:

    标签: excel rest vba


    【解决方案1】:

    您可以在 VBA 中使用 MSXML 库。然后您可以创建一个 XMlHTTP 请求并执行 GET 或 POST 等操作。下面是一个代码示例。它使用后期绑定,即不需要先引用库:

    Option Explicit
    
    Sub Test_LateBinding()
    
        Dim objRequest As Object
        Dim strUrl As String
        Dim blnAsync As Boolean
        Dim strResponse As String
    
        Set objRequest = CreateObject("MSXML2.XMLHTTP")
        strUrl = "https://jsonplaceholder.typicode.com/posts/1"
        blnAsync = True
    
        With objRequest
            .Open "GET", strUrl, blnAsync
            .SetRequestHeader "Content-Type", "application/json"
            .Send
            'spin wheels whilst waiting for response
            While objRequest.readyState <> 4
                DoEvents
            Wend
            strResponse = .ResponseText
        End With
    
        Debug.Print strResponse
    
    End Sub
    

    我正在使用这个测试网站 - JSONPlaceholder - 来调用 RESTful API。这是回应:

    请注意,如果您 a) 发出同步请求,或 b) 使用 http 而不是 https,我发现使用此方法调用此网站会失败。

    【讨论】:

    • 谢谢罗宾,我今天就试试这个
    • @Robin Mackenzie 我明白答案解释了如何从 Jira 获取一些信息,但问题也是关于如何放入 Excel 表。我想知道如何使用 Json 中获得的响应将其写入工作表中。通常,jira 用户使用 JQL 与 JIRA 交互,我想发送查询然后将响应放入工作表中会很有用。
    • @DavidLeal - 一旦你有了 JSON,你就可以解析/操作/更新工作表等 - 例如看这个问题:stackoverflow.com/questions/50068973/json-vba-parse-to-excel
    • 很好的解决方案罗宾。我知道 Excel VBA 几乎可以做任何事情,这使我不必再次学习 JS。这当然会非常有用,但我现在没有时间。
    【解决方案2】:

    Here,您可以找到使用 REST API 从 JIRA 获取信息并加载到 excel 工作表中的详细示例。可以从帖子中下载带有宏的 excel 文件。无论如何,它包含对每个步骤的详细说明,以防您出于特定目的而自己做。不值得在这里重复。我一直在寻找类似的解决方案,到目前为止,这是我发现的唯一一篇从头到尾涵盖这个问题的帖子。

    【讨论】:

    • 诚然,这个例子是一个使用 JIRA 的长而深入的例子,但它看起来涵盖了很多人们应该知道的事情。伟大的工作大卫。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-14
    相关资源
    最近更新 更多