【VBScript】WEB上のファイルをダウンロード


この記事はプロモーションを含みます。

VBScript

ホーム > VBScript 逆引きリファレンス

VBScriptでWEB上にあるファイルをダウンロードする方法を解説します。

仕組みとしては、「Msxml2.ServerXMLHTTP」でダウンロード要求を行い、「ADODB.Stream」でファイルとして保存するような感じです。

では、ソースコードを解説していきます。
3行目は、ダウンロードファイルのURLになります。サンプルでは[docker]をダウンロードしています。直リンクのみ対応しています。
ここは、インプットボックス(InputBox)を使用してもいいかもしれません。

11行目では、URLからダウンロード後のファイル名を取得しています。
URL最後の[/]以降の文字列をファイル名としています。

15行目は、エラーハンドリングになります。最もエラーが起きやすそうなところに入れています。

24-28行目で、ファイルのダウンロードを行っています。

Option Explicit

' ダウンロードファイルのURL
Const url = "https://download.docker.com/linux/static/stable/x86_64/docker-20.10.9.tgz"

Dim http, stream, file, tmp
Set http = CreateObject("Msxml2.ServerXMLHTTP")
Set stream = CreateObject("ADODB.Stream")

' ダウンロードファイル名の取得
tmp = Split(url, "/")
file = tmp(UBound(tmp))

' ダウンロード
On Error Resume Next
Call http.Open("GET", url, False )
http.Send
If(Err.Number <> 0)Then
	MsgBox("エラーが発生しました。")
	WScript.Quit
end if

' ダウンロードファイルの保存
stream.Open
stream.Type = 1
stream.Write http.responseBody
stream.SaveToFile file, 2
stream.Close
Set stream = Nothing
Set http = Nothing

MsgBox("ダウンロードが完了しました。")

単純にファイルをダウンロードするだけなので、簡単に実装出来ましたね。
このスクリプトを単体で使用するのではなく、部品化して使用すると便利そうです。

コメント

タイトルとURLをコピーしました