来自HTTP responseText VBA Excel的表

来自HTTP responseText VBA Excel的表,excel,vba,http,responsetext,Excel,Vba,Http,Responsetext,我正在使用VBA,并尝试使用HTTP请求从响应测试创建一个表。这是我的密码: Set hReq = CreateObject("MSXML2.XMLHTTP") With hReq .Open "GET", "https://example.url.com/data", False .send End With 如果导航到URL,页面上唯一的项目是CSV响应,如下所示: name,ID,job,sector johndoe,1234,creato

我正在使用VBA,并尝试使用HTTP请求从响应测试创建一个表。这是我的密码:

Set hReq = CreateObject("MSXML2.XMLHTTP")
    With hReq
        .Open "GET", "https://example.url.com/data", False
        .send
    End With
如果导航到URL,页面上唯一的项目是CSV响应,如下所示:

name,ID,job,sector johndoe,1234,creator,sector1 janedoe,5678,worker,sector2
这将转换为一个包含4列的表,分别名为“name”、“ID”、“job”和“sector”。我是VBA新手,我正在努力理解如何将响应文本翻译成表格。但我需要把它转换成表格形式,这样我就可以处理列变量了。我可以将响应文本放入单个单元格中:

Sheets("Sheet1").Range("A1").Value = hReq.responseText

然而,我无法将表格转换成表格格式,因此我可以像处理表格一样开始处理它。如果能将数据放入内存中的数组中,这样我就可以使用VBA对其进行操作和分析,但出于故障排除的目的,将其放入Excel工作表中也会很有帮助,这样我就可以再次检查我的编程了。

这将循环通过您的标题请求并发布到您的首选工作表:

Sub test()
    Dim RespArray() As String
    Dim RespArray2() As String
    Dim i, i2 As Long

    Set hReq = CreateObject("MSXML2.XMLHTTP")
    With hReq
        .Open "GET", "https://example.url.com/data", False
        .send
    End With

    ' split the data into larger pieces
    RespArray() = Split(hReq.responseText, " ")

    ' loop through first array to break it down line by line
    For i = LBound(RespArray) To UBound(RespArray)
        ' split each line into individual pieces
        RespArray2() = Split(RespArray(i), ",")
        ' loop through second array and add to Sheet1
        For i2 = LBound(RespArray2) To UBound(RespArray2)
          Worksheets("Sheet1").Cells(i + 1, i2 + 1).Value = RespArray2(i2)
        Next i2
    Next i
End Sub
导致


CSV示例中的行分隔符字符是什么,只是一个空格?