Web上から画像をDLし毎日保存するマクロ

本ページではWeb上から画像をDLし毎日保存するマクロを紹介します。

本マクロの用途

特定のHPから毎日画像をDLして日付付きの名前で保存するような動作をします。 今回は事例として、Yahoo Financeから日経平均の日中足チャートを毎日ダウンロードするようなスクリプトを紹介します。

なお、XMLHTTPは画像だけでなく色々なデータ取得に応用できますので、工夫してみて下さい。

本マクロの仕様

本マクロは二つのファイルから構成されます。二つのファイルは同じフォルダ(D:¥temp¥work¥winscript¥script)に配置して下さい。

  • nkdl.bat
  • nkget.vbs

nkdl.batがnkget.vbsを呼び出します。

nkget.vbsは、web上からファイルをD:¥temp¥work¥winscript¥resultにそのままの名前で保存します。

画像保存終了後、nkdl.batはダウンロードした画像を当日日付にリネームして保存し、元のファイルを削除します。

本マクロの注意事項

本マクロはDL対象の画像が固定の名前であることが前提です。

マクロの配置やログの出力先、仕様などのその他共通注意事項は当サイトで扱うWPS/WSH/VBSマクロの共通ルールをご確認下さい。

コード

【nkdl.batの中身】 #####################################################
nkget.vbs

cd D:¥temp\work\winscript\result
v ren 5040469.o.gif %date:~0,4%%date:~5,2%%date:~8,2%_nikkei.gif

rm 998407.o.gif
#####################################################

【nkget.vbsの中身】 #####################################################
Rnikkei = "http://chart.yahoo.co.jp/c/1d/5/5040469.o.gif"
Snikkei = "D:¥temp\work\winscript\result¥5040469.o.gif"

Const adTypeBinary = 1
Const adSaveCreateNotExist = 1
Const adSaveCreateOverWrite = 2

Set oHTTP = WScript.CreateObject("Msxml2.XMLHTTP")
oHTTP.Open "GET", Rnikkei, False
oHTTP.Send
Set Stream = WScript.CreateObject("Adodb.Stream")
Stream.Type = adTypeBinary
Stream.Open
Stream.Write oHTTP.responseBody
Stream.Savetofile Snikkei, adSaveCreateOverWrite
#####################################################

WPS/WSH/VBSマクロリスト

メニュー

ページのトップへ戻る