私はを参考にしてURLからzipファイルをダウンロードしています。URLからzipファイルをダウンロードするにはVBAを使用してください
私が使用していたコードは、しかし、私は、コードを実行するたびに、それだけでそのファイルをダウンロードする空のzipファイルを作成しますで
Sub DownloadZipExtractCsvAndLoad()
Dim UrlFile As String, ZipFile As String, CsvFile As String, Folder As String, s As String
' UrlFile to the ZIP archive
UrlFile = "https://loanperformancedata.fanniemae.com/lppub/publish?file=2008Q1.zip"
' Extract ZipFile from UrlFile
ZipFile = "2008Q1.zip"
' Define temporary folder
Folder = "C:\Users\xxxxxx\Desktop\"
' Disable screen updating to avoid blinking
Application.ScreenUpdating = False
' Trap errors
On Error GoTo exit_
' Download UrlFile to ZipFile in Folder
If Not Url2File(UrlFile, Folder & ZipFile, "xxx", "xxxx") Then
MsgBox "Can't download file" & vbLf & UrlFile, vbCritical, "Error"
Exit Sub
End If
exit_:
' Restore screen updating
Application.ScreenUpdating = True
' Inform about the reason of the trapped error
If Err Then MsgBox Err.Description, vbCritical, "Error"
End Sub
Function Url2File(UrlFile As String, PathName As String, Optional Login As String, Optional Password As String) As Boolean
'ZVI:2017-01-07 Download UrlFile and save it to PathName.
' Use optional Login and Password if required.
' Returns True on success downloading.
Dim b() As Byte, FN As Integer
On Error GoTo exit_
If Len(Dir(PathName)) Then Kill PathName
With CreateObject("MSXML2.XMLHTTP")
.Open "GET", UrlFile, False, Login, Password
.send
If .Status <> 200 Then Exit Function
b() = .responseBody
FN = FreeFile
Open PathName For Binary Access Write As #FN
Put #FN, , b()
exit_:
If FN Then Close #FN
Url2File = .Status = 200
End With
End Function
下回っています。
助けが必要ですか?
b = fileObj.responseBody
.
.
Put #FN, , b
:
あなたが取得しようとしている実際のURLに移動すると** https://loanperformancedata.fanniemae.com/lppub/publish?file = 2008Q1.zip **をブラウザの検索バーに貼り付けると、ファイルが存在しないことがわかります。 – ainwood
@ainwoodこの地域では初めてです。そのウェブサイトにはログイン情報が必要です。ユーザー名とパスワードでログインすると、リンクが機能します。 – kzhang12