【发布时间】:2011-12-06 03:25:21
【问题描述】:
我看到的大多数使用 MSXML 的示例都必须使用 Javascript 或 JQuery,但我正在编写一个两个都不使用的 Excel 2010 宏。
我的目标是下载一个文件(如下所示),并解析一个中等大小(5 到 15MB)的 CSV 文件。我最终想将 CSV 数据保存在隐藏的数据选项卡中。
我在 CSV VBA sample here 上取得了一些进展,但我不知道如何将 MSXML.ResponstText 的输出与该示例粘合。
这是我的 VBA/宏代码
Set objHttp = CreateObject("MSXML2.ServerXMLHTTP")
'objHttp.SetRequestHeader "Content-Type", "text/csv"
'objHttp.SetRequestHeader "charset", "gb2312"
Call objHttp.Open("GET", fileURL, False)
Call objHttp.Send("")
'Call MsgBox(objHttp.ResponseText)
如何让 excel 使用 ResponseText 并且一次只读取一行?
【问题讨论】:
-
你试过 Split(objHttp.ResponseText, vbCrLf) 吗?
-
ps-您是在下载文件还是在阅读网络响应?
-
@JP 我正在下载一个 CSV 文件 similar to this one - 虽然请原谅不稳定/未对齐的数据
-
相反,我会使用 URLDownloadToFile API 将文件保存在本地,然后只需使用 Excel 的本机方法打开它(请参阅@Jean-François Corbett 的回答)。