如何解决Excel VBA - 下载带有 url 的 csv 文件,但它只显示 html 代码而不是 csv 文件的实际内容
有一个在线电子表格可以选择“下载电子表格”。当您选择它时,它会将文件作为 .csv 下载到下载文件夹。我想将此电子表格作为宏的一部分下载并将其保存到特定文件夹。这适用于多个用户,所以我不想假设下载将转到每个用户的下载文件夹。我以前使用过类似于以下代码(在线找到)的代码并取得了成功。但是,对于此链接,它会下载一个 .csv 文件,该文件似乎有大约 1500 行 html 代码,而不是实际的电子表格。您是否知道是否有某种方法可以调整实际代码以获取电子表格本身,或者是否有任何其他可能获得不同 url 的建议?有一些敏感信息,所以我只是分享了“html”.csv 的一部分和我使用过的相关代码,但如果您需要任何其他信息,请告诉我。
Sub ...()
Dim ...
DT_Url = "https://.......com/db/bpmcgi93a?a=q&qid=501&dlta=xs%7E&ridlist=697"
DTFile = "Deal_Tracker_Que_Report" & Range("Today") & ".csv"
DT_Save = ThisWorkbook.Path & "\MF Historical Queues\" & DTFile
DTFilePath = Range("Newest_Queue_Path") & DTFile
Download_Queue DT_Url,DT_Save
Set DT_Q = Workbooks.Open(DTFilePath)
ActiveSheet.Name = "DT_Que"
End Sub
Sub Download_Queue(myURL,saveFile)
Dim HttpReq As Object
Set HttpReq = CreateObject("Microsoft.XMLHTTP")
HttpReq.Open "GET",myURL,False,"username","password"
HttpReq.Send
myURL = HttpReq.responseBody
If HttpReq.Status = 200 Then
Set oStrm = CreateObject("ADODB.Stream")
oStrm.Open
oStrm.Type = 1
oStrm.Write HttpReq.responseBody
oStrm.SaveToFile saveFile,2 ' 1 = no overwrite,2 = overwrite
oStrm.Close
End If
End Sub
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。