使用.Open(在VBA中解析JSON)循环访问URL列表

时间:2016-08-30 11:46:17

标签: json vba parsing

"参考网址列表"部分代码是我可以删除单个URL的地方,代码工作正常。但我想让代码更灵活,我可以遍历我的URL列表(理想情况下只能更改我的代码部分,或者可能是另一个小调整)。这是代码:

Set MyRequest = CreateObject("WinHttp.WinHttpRequest.5.1")
MyRequest.Open "GET", "reference URL list"
MyRequest.Send

Dim Json As Object
Set Json = JsonConverter.ParseJson(MyRequest.ResponseText) 

我意识到有多种方法可以解决这个问题 - 虽然我找不到能够略微增加我的方法的具体信息。我非常感谢你的帮助。

凯尔

1 个答案:

答案 0 :(得分:0)

此代码应该按照您的意愿执行。关键的想法是使用数组来保存您要发送HTTP请求的网站列表。

如下所示,您不必使用键入VBA的数组,也可以在Excel中使用Range

以下是代码:

Public Sub HTTP_Req()
    Dim MyRequest As Object: Set MyRequest = CreateObject("WinHttp.WinHttpRequest.5.1")
    'Add all Urls you want to send a HTTP request to, in an Array
    Dim MyUrls: MyUrls = Array("www.google.com", "www.yahoo.com", "www.bing.com")
    Dim i As Long
    Dim Json As Object

    For i = LBound(MyUrls) To UBound(MyUrls)
        With MyRequest
            .Open "GET", MyUrls(i)
            .Send
            Set Json = JsonConverter.ParseJson(.ResponseText)
            'Do something with the JSON object here
        End With
    Next
End Sub