当前代码:
' send http post request
objHTTP.Send (payload)
' response is a CSV formatted string
Dim response
response = objHTTP.responseText
If objHTTP.Status = "200" Then 'success
' add response to some worksheet
ThisWorkbook.Names("some_cell").RefersToRange.Value = response
Else
Debug.Print "Something Went Wrong!"
End If
问题:
整个 csv 字符串被添加到一个单元格中(这并不奇怪,因为我的 named_range 是一个单元格),但我不知道需要更新什么才能使其正常工作。
正确的行为是以与 excel 打开 .csv 文件相同的方式将 CSV 字符串添加到工作表中。
像这样的东西:
Sub Tester()
LoadCsvToRange "A,B,C" & vbCrLf & "D,E,F", Sheet1.Range("e5")
End Sub
Sub LoadCsvToRange(csv As String, rngDest As Range)
Dim f, wb
'write to a temp file
With CreateObject("scripting.filesystemobject")
f = .GetSpecialFolder(2) & "\" & .GetTempName & ".csv"
.CreateTextFile(f).write csv
End With
'open file in Excel and copy content
With Workbooks.Open(f)
.Sheets(1).UsedRange.Copy rngDest.Cells(1)
.Close False
End With
Kill f 'remove temp file
End Sub
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句