【VBA】WebページのファイルをURLDownloadToFile関数を使用するダウンロード方法

10月 29, 2022

VBAでWebページのファイルをダウンロードしたい人向けに書いています。

本記事の内容

・WebページのファイルをURLDownloadToFile関数を使用してダウンロードする方法

VBA(マクロ)で自動的にWebページのファイルをダウンロードしたいと思っていませんか?
Webページのファイルをダウンロードする方法を紹介します。

 

WebページのファイルをURLDownloadToFile関数を使用してダウンロードする方法

以下がWebページのファイルをURLDownloadToFile関数を使用してダウンロードするプログラムです。

  1. ’64bit版
  2. #If VBA7 And Win64 Then
  3.     '指定URLファイルのダウンロード
  4.     Private Declare PtrSafe Function URLDownloadToFile Lib “urlmon" Alias “URLDownloadToFileA" (ByVal pCaller As Long, ByVal szURL As String, ByVal szFileName As String, ByVal dwReserved As Long, ByVal lpfnCB As Long) As Long
  5.     'キャッシュクリア
  6.     Private Declare Function DeleteUrlCacheEntry Lib “wininet" Alias “DeleteUrlCacheEntryA" (ByVal lpszUrlName As String) As Long
  7. ’32bit版
  8. #Else
  9.     '指定URLファイルのダウンロード
  10.     Private Declare Function URLDownloadToFile Lib “urlmon" Alias “URLDownloadToFileA" (ByVal pCaller As Long, ByVal szURL As String, ByVal szFileName As String, ByVal dwReserved As Long, ByVal lpfnCB As Long) As Long
  11.     '// キャッシュクリア
  12.     Private Declare Function DeleteUrlCacheEntry Lib “wininet" Alias “DeleteUrlCacheEntryA" (ByVal lpszUrlName As String) As Long
  13. #End If
  14.  
  15.  
  16. '*****************************************
  17. '* Webページファイルダウンロード
  18. '*****************************************
  19. Sub URL_FILE_DL()
  20.  
  21.     Dim lngRes As Long 'Webページダウンロード判定
  22.     Dim DL_FILE_URL As String 'Webページファイルアドレス
  23.     Dim DL_FILE_PATH As String '保存先ファイルパス
  24.     
  25.     'Webページファイルアドレス
  26.     DL_FILE_URL = “https://msedgedriver.azureedge.net/102.0.1245.44/edgedriver_win64.zip"
  27.     '保存先ファイルパス
  28.     DL_FILE_PATH = “D:\Webページ保存ファイル\edgedriver_win64.zip"
  29.     
  30.     'キャッシュクリア
  31.     Call DeleteUrlCacheEntry(DL_FILE_URL)
  32.     
  33.     'Webページファイルダウンロード
  34.     lngRes = URLDownloadToFile(0, DL_FILE_URL, DL_FILE_PATH, 0, 0)
  35.     
  36.     'ダウンロード完了判定
  37.     If lngRes = 0 Then '完了
  38.         MsgBox DL_FILE_URL & “:ダウンロード完了"
  39.     Else
  40.         MsgBox DL_FILE_URL & “:ダウンロード失敗"
  41.     End If
  42.     
  43. End Sub


26行目:WebページファイルのURLアドレスを設定
28行目:保存先のファイルパスを設定

本プログラムではMicrosoft EdgeのWebドライバーをダウンロードするプログラムにしています。
WebページファイルのURLアドレスはWebページのダウンロードリンクを右クリックし、「リンクアドレスのコピー」をクリックして取得しています。

 

まとめ

WebページのファイルをURLDownloadToFile関数を使用してダウンロードする方法を紹介しました。
最後までご覧いただき、ありがとうございました。

 

【ExcelVBA】HTTP/HTTPS通信によるWebページ情報取得の方法」も紹介していますので、もしよろしければこちらも御覧ください。

 

¥891 (2023/02/02 12:04時点 | Amazon調べ)
Microsoft Public Affiliate Program (JP)(マイクロソフトアフィリエイトプログラム)