【VBA】WebページのファイルをXMLHTTPRequestを使用してダウンロードする方法
VBAでWebページのファイルをダウンロードしたい人向けに書いています。
本記事の内容
・WebページのファイルをXMLHTTPRequestを使用してダウンロードする方法
VBA(マクロ)で自動的にWebページのファイルをダウンロードしたいと思っていませんか?
Webページのファイルをダウンロードする方法を紹介します。
WebページのファイルをXMLHTTPRequestを使用してダウンロードする方法
以下がWebページのファイルをXMLHTTPRequestを使用してダウンロードするプログラムです。
- '*****************************************
- '* Webページファイルダウンロード XMLHTTPRequest
- '*****************************************
- Public Sub WEB_PAGE_FILE_DL()
-
- 'ダウンロード(引数1:URLファイルアドレス,引数2:保存先ファイルパス)
- DownloadFile "https://msedgedriver.azureedge.net/102.0.1245.44/edgedriver_win64.zip", _
- "D:\Webページ保存ファイル\edgedriver_win64.zip"
-
- MsgBox "処理が完了しました。", vbInformation + vbSystemModal
-
- End Sub
-
- Private Sub DownloadFile(ByVal Url As String, ByVal SaveFilePath As String)
-
- Dim req As Object
- Const adTypeBinary = 1
- Const adSaveCreateOverWrite = 2
-
- 'XMLHTTPRequest
- Set req = CreateObject("Msxml2.XMLHTTP")
- req.Open "GET", Url, False
-
- 'キャッシュ対策
- req.setRequestHeader "Pragma", "no-cache"
- req.setRequestHeader "Cache-Control", "no-cache"
- req.setRequestHeader "If-Modified-Since", "Thu, 01 Jun 1970 00:00:00 GMT"
-
- req.Send
- Select Case req.Status
- Case 200
- 'ADODB.Streamファイルダウンロード
- With CreateObject("ADODB.Stream")
- .Type = adTypeBinary
- .Open
- .Write req.responseBody
- .SaveToFile SaveFilePath, adSaveCreateOverWrite
- .Close
- End With
- Case Else
- MsgBox "エラーが発生しました。" & vbCrLf & _
- "ステータスコード:" & req.Status, _
- vbCritical + vbSystemModal
- Exit Sub
- End Select
-
- End Sub
7行目:URLファイルアドレスを設定
8行目:保存先ファイルパスを設定
本プログラムではMicrosoft EdgeのWebドライバーをダウンロードするプログラムにしています。
WebページファイルのURLアドレスはWebページのダウンロードリンクを右クリックし、「リンクアドレスのコピー」をクリックして取得しています。
まとめ
WebページのファイルをXMLHTTPRequestを使用してダウンロードする方法を紹介しました。
最後までご覧いただき、ありがとうございました。
「【ExcelVBA】HTTP/HTTPS通信によるWebページ情報取得の方法」も紹介していますので、もしよろしければこちらも御覧ください。
¥2,409 (2024/11/26 01:24時点 | Amazon調べ)
ポチップ
最近のコメント