来自HTTP responseText VBA Excel的表
我正在使用VBA,并尝试使用HTTP请求从响应测试创建一个表。这是我的密码:来自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
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示例中的行分隔符字符是什么,只是一个空格?