Accessで指定URLのファイルをダウンロードする方法

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

Categories:

Tags: