画像ファイルをダウンロード(保存)する

画像を保存(ダウンロード)するサンプルコードです。標準モジュールに以下のコードを追加し、DownloadImageサブプロシージャを実行します。 ImageDownloadサブプロシージャを実行すると、IEを起動してこのページに接続し、以下の画像(guam.jpg)をPCのマイドキュメントフォルダに保存します。 guam

サンプルコード

  • 【動作確認日】2014年5月19日
  • 【動作確認環境】Windows 7・Excel 2010・Internet Explorer 11

解説

このサンプルでは3つのAPIを使用しています。APIを使用するために、サブプロシージャの上に各APIの宣言を記述しています。DownloadImageプロシージャの中では、ず、SHGetFolderPathでマイドキュメントフォルダのパスを取得しています。

画像をダウンロードするための準備として、DeleteUrlCacheEntryでキャッシュを削除しています。このキャッシュを削除する処理は必須ではありませんが、確実に新しいファイルを取得するにはこのAPIを使います。

そして最後にURLDownloadToFileで画像をダウンロードしています。URLDownloadToFileは、指定したURLのファイルを保存するAPIです。もちろん画像ファイルだけでなく、PDFファイルなど他のファイルもダウンロード可能です。

一つ補足です。URLが最初からわかっているのなら、IEオブジェクトを生成する必要はありません。決め打ちのURLとファイル名をURLDownloadToFileにそのまま渡せばいいだけです。IEオブジェクトを使わない簡略化したバージョンは以下になります。IEオブジェクトを生成する必要がないので、ダウンロードは一瞬で終わります。

IEオブジェクトを使わないバージョン

スポンサーリンク