VBAで
・インターネットから
・ファイルをダウンロード
できます!
ダウンロードは
・Windows APIによって実現
できます!
Windows APIの1つである
・URLDownloadToFile関数
を使用します!
VBAコード
ここでは例として
・郵便局のサイトから
・郵便番号データ(全国一括)のzipファイルをダウンロードして
・デスクトップ配下に保存
します。
Option Explicit
'Windows APIの宣言
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
Sub sample()
Dim url As String
Dim filePath As String
Dim result As Long
'ダウンロードするファイルのURLを指定
url = "https://www.post.japanpost.jp/zipcode/dl/kogaki/zip/ken_all.zip"
'保存するファイルパスを指定
filePath = "C:\Users\user\Desktop\ken_all.zip"
'ダウンロードを実行
result = URLDownloadToFile(0, url, filePath, 0, 0)
If result = 0 Then
MsgBox "ダウンロードできました!"
Else
MsgBox "ダウンロードできませんでした!"
End If
End Sub
実行結果
インターネットからファイルをダウンロードできました。
参考①
VBAでZIPファイルを解凍(展開)することもできます。
詳細は以下の記事をご確認ください。
参考②
郵便局の郵便番号データのページです。
参考③
上記のVBAコードで使用した以下の詳細は、公式サイトをご確認ください。
●Windows API「URLDownloadToFile関数」
参考④
バッチファイルでも、インターネットからファイルをダウンロードできます。
詳細は以下の記事をご確認ください。