URLMON(URLMoniker)ライブラリのAPI関数、「URLDownloadToFile」を使用して、インターネット上の指定URLのファイルをダウンロードする方法を紹介します。ここでの”ファイル”とは、インターネットからダウンロード入手できるフリーソフトのようなものだけでなく、そのURLで表示されるHTMLファイルやそこで使われている画像ファイルなどもすべて含みます。
まず、標準モジュールに次のようなAPIの宣言を記述します。
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
次のサンプルプロシージャでは、当サイトより、LZHファイル、HTMLファイル、JPEGファイルをダウンロードしています。ダウンロード元URLを変更することで、さまざまなファイルをダウンロードできることが分かると思います。
Sub test() Dim strURL As String Dim strFileName As String Dim lngRet As Long '************************************* ' LZHファイルのダウンロード '************************************* 'ダウンロード元のURLを設定 strURL = "http://www.tsware.jp/download/cabinet/jinz200.lzh" 'ダウンロード先の保存ファイル名を設定 strFileName = "c:\jinz200.lzh" 'ダウンロードの実行 GoSub ExecDownload '************************************* ' HTMLファイルのダウンロード '************************************* strURL = "http://www.tsware.jp/index.htm" strFileName = "c:\index.htm" GoSub ExecDownload '************************************* ' JPEGファイルのダウンロード '************************************* strURL = "http://www.tsware.jp/images/topmainphoto.jpg" strFileName = "c:\topmainphoto.jpg" GoSub ExecDownload Exit Sub ExecDownload: 'ダウンロードの実行 lngRet = URLDownloadToFile(0, strURL, strFileName, 0, 0) If lngRet = 0 Then MsgBox "ダウンロードに成功しました!", vbOKOnly + vbInformation Else MsgBox "ダウンロードに失敗しました!", vbOKOnly + vbExclamation End If Return End Sub