2006/12/23
[WSH]クリップボード内URLのファイルをダウンロード2
http://blogs.wankuma.com/mutaguchi/archive/2006/07/07/31826.aspx
の続きです。クリップボード中に複数URLが複数行に記述されている場合、それらをまとめてダウンロードするように改良しました。
Const adTypeBinary = 1 Const adSaveCreateNotExist = 1 Const adSaveCreateOverWrite = 2 sDLFolder = "C:\download" Set Ie = WScript.CreateObject("InternetExplorer.Application") 'Ie.Visible = True Ie.Navigate "about:blank" Do While Ie.Busy Or Ie.ReadyState<>4 Wscript.Sleep 10 Loop 'クリップボードの文字列を取得。 sClipBoard = Ie.Document.parentWindow.clipboardData.getData("text") Ie.Quit If InStr(sClipBoard,vbCrLf) Then aURLs = Split(sClipBoard,vbCrLf) Else aURLs = Array(sClipBoard) End If For Each sURL In aURLs If Left(sURL,5)="http:" Then sDest = sDLFolder & "\" & Mid(sURL,InStrRev(sURL,"/")+1) Set oHTTP = WScript.CreateObject("Msxml2.XMLHTTP") oHTTP.Open "GET", sURL, False oHTTP.Send Set Stream = WScript.CreateObject("Adodb.Stream") Stream.Type = adTypeBinary Stream.Open Stream.Write oHTTP.responseBody Stream.Savetofile sDest, adSaveCreateOverWrite End If Next msgbox "done"
ところがこれをIE7環境で実行すると毎回こんなダイアログがでるんですね。
インターネットゾーンのレベルのカスタマイズで、「スクリプトによる貼り付け処理の許可」を「ダイアログを表示する」から「有効にする」に変えればダイアログは出なくなりますがお勧めしません。それよりは"about:blank"の代わりに何かローカルのファイルを指定してやったほうがいいです。ローカルのファイルはマイコンピュータゾーンで動作するのでダイアログが出ません。
プライバシーポリシー