Posts on this page
May 14, 2014
IEに表示されているPDFをVBScriptでダウンロードして保存する
Tag:
Programming Tips
,
VBScript / WSH
webにあるpdfファイルがプラグインでブラウザウィンドウ内に直接表示されている場合に、VBScriptを使ってローカルに保存する方法を示します。
なお、ここではpdfファイルを例に説明していますが、別にどんなファイル形式であっても同じ考え方を適用できます。例えば、画像ファイル(png, tiff, jpgファイルなど)や音声ファイル(mp3)であってもほとんど同じコードで処理できます。
May 13, 2014
IEのボタンクリックなどのイベントをWSH/VBScriptから監視する
Tag:
Programming Tips
,
VBScript / WSH
VBScriptでOnclick = …何と書くか
VBScriptを使ってIEに読み込ませたページ上で、ボタンがクリックされた場合に、それを検知するためのコードを示します。 GetRef関数で得られたOnClickSubプロシージャへのポインタをonclickに設定しています。これにより、ボタンがクリックされるとメッセージボックスが表示されます。設定されたイベントフックはこのスクリプトが動作している間しか機能しませんので、無限ループを回しておき、IEが終了するとともにスクリプトを終了させています。そのため、CreateObject関数では"IE_"としてイベントプレフィックスを設定しており、IEが終了するときに発生するOnQuitイベントを捕捉し、その時にスクリプト自体も終了させています。
MoniteringIEEvent Sub MoniteringIEEvent Set ie = WScript.CreateObject("InternetExplorer.Application", "IE_") ie.Navigate "http://www.google.co.jp" ie.Visible = True waitIE ie ie.Document.getElementById("gbqfq").Value = "vbscript DOM event hooking" ie.Document.getElementById("gbqfb").onclick = GetRef("OnClickSub") Do While True Wscript.sleep 1000 Loop End Sub Sub IE_OnQuit WScript.Quit End Sub Sub OnClickSub() MsgBox "Search button clicked!" End Sub Sub waitIE(ie) Do While ie.Busy = True Or ie.readystate <> 4 WScript.Sleep 100 Loop WScript.Sleep 100 End Sub
応用できそうな事例
特定のページで特定のボタンを押すと、本来の動作に加えて独自機能が動く。例えば、検索したときに検索ワードをローカルファイルに記録していくスクリプトが書けるでしょう。これを実現するには、立ち上がっているIEのすべてのプロセスを監視するスクリプトも必要になりますが。あるいは、スクリプトで起動したwebアプリケーションに対して、人の入力を待ってから次の動作を行う、ということもできるでしょう。例えば、結果を表示して人に選択させるような場面が考えられます。
広い意味でのアドオンを作ることもできるでしょう。あえてWSH/VBScriptで作るべきか、という議論はありますが、インストール不要でダウンロードも実行も容易という点では、環境に依存せず配布しやすいかもしれません。
参考
WScript.CreateObjectはVisual BsssicのCreateObjectと第2引数の意味がまったく違うことに注意です。GetRef Function
http://msdn.microsoft.com/en-us/library/ekabbe10(v=vs.84).aspx
CreateObject Method
http://msdn.microsoft.com/en-us/library/xzysf6hc(v=vs.84).aspx
Scripting Events
http://msdn.microsoft.com/en-us/library/ms974564.aspx
May 11, 2014
IEをVBScriptから自動操作する
Tag:
Programming Tips
,
VBScript / WSH
いろんなウェブサイトのログインや毎回PCを立ち上げる度に行っているInternet Explorerの操作があるならば、今すぐバッチファイルを作るといいでしょう。
テキストファイルを直打ちするだけで簡単に作ることができるし、一度作ってしまえば、次からそのファイルを実行するだけで作業が済んでしまいます。
以下では、WSH/VBScriptを用いたIEの自動化についてまとめます。
テキストファイルを直打ちするだけで簡単に作ることができるし、一度作ってしまえば、次からそのファイルを実行するだけで作業が済んでしまいます。
以下では、WSH/VBScriptを用いたIEの自動化についてまとめます。
Subscribe to:
Posts
(
Atom
)