« WindowsアプリからCScript.exeのコンソール入出力を使用する。 | トップページ | システムエラーコードからメッセージテキストを取り出す。 »

2007年4月25日 (水)

インターネットからファイルをダウンロードする。

Excelがあれば、スクリプトからWin32APIのURLDownloadToFile()を呼び出して、
インターネットからファイルをダウンロードできます。

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

« WindowsアプリからCScript.exeのコンソール入出力を使用する。 | トップページ | システムエラーコードからメッセージテキストを取り出す。 »