在过去的几个小时里,我一直在试图弄清楚如何使用 VBA 将文件保存到计算机上。我在另一个论坛上找到的下面的代码模板看起来很有希望,除了当我去桌面访问它时,.csv 文件看起来像页面的源代码,而不是我想要的实际文件。这可能是因为当我转到 URL 时,它不会自动下载文件;相反,我被要求将文件保存到某个位置(因为我不知道网站上上传文件的路径名)。有没有办法改变这个代码来适应这个,还是我必须完全使用不同的代码?
Sub Test()
Dim FileNum As Long
Dim FileData() As Byte
Dim MyFile As String
Dim WHTTP As Object
On Error Resume Next
Set WHTTP = CreateObject("WinHTTP.WinHTTPrequest.5")
If Err.Number <> 0 Then
Set WHTTP = CreateObject("WinHTTP.WinHTTPrequest.5.1")
End If
On Error GoTo 0
MyFile = "MY_URL_HERE"
WHTTP.Open "GET", MyFile, False
WHTTP.send
FileData = WHTTP.responseBody
Set WHTTP = Nothing
If Dir("C:\Users\BLAHBLAH\Desktop", vbDirectory) = Empty Then MkDir "C:\Users\BLAHBLAH\Desktop"
FileNum = FreeFile
Open "C:\Users\BLAHBLAH\Desktop\memberdatabase.csv" For Binary Access Write As #FileNum
Put #FileNum, 1, FileData
Close #FileNum
End Sub
交叉帖子:
http ://www.ozgrid.com/forum/showthread.php?t=178884
http://www.excelforum.com/excel-programming-vba-macros/925352-vba-go-to-website- and-download-file-from-save-prompt.html