概要
Excelがあれば、Win32APIのURLDownloadToFile()を呼び出して、web上のファイルをダウンロードします。
ExcelのApplication.ExecuteExcel4Macro()メソッドを利用しています。
使用方法
- InputBoxからURLを入力
- 「名前を付けて保存」ダイアログから、保存先のファイル名を入力
- キャンセルするまで繰り返す
URLDownloadToFile.vbs
Option Explicit
Dim Application
Dim CD
Dim URL
Dim Path
Dim RC
Set Application=CreateObject("Excel.Application")
CD=CreateObject("Scripting.FileSystemObject").GetAbsolutePathName("")
Call Application.ExecuteExcel4Macro("CALL(""kernel32"",""SetCurrentDirectoryA"",""JC"","""&CD&"¥..¥"")")
Do
URL=InputBox("URLを入力してください。")
If URL="" Then Exit Do
Path=Application.GetSaveAsFileName("*.*","すべてのファイル,*.*")
If Path=False Then Exit Do
RC=Application.ExecuteExcel4Macro("CALL(""urlmon"",""URLDownloadToFileA"",""JJCCJJ"",0,"""&URL&""","""&Path&""",0,0)")
If RC Then
MsgBox Join(Array(URL,Path,Hex(RC)),vbLf),vbCritical,"失敗"
Err.Raise &H80070000 Or (&HFFFF& And RC)
Else
MsgBox Join(Array(URL,Path,RC),vbLf),vbInformation,"成功"
End If
Loop