VBSってInternetExplorerを操る事が出来るんです。
うまく使用すればログイン画面とか自動でログインさせたりなど、面白いことが出来ます。
サンプルのコードをメモ帳に貼り付けて「.vbs」の拡張子で保存すれば簡単に実行されます。
IEを起動・終了させる
IEに特定のURLを指定して起動した後、終了させるだけです。
IEの操作をするための基本。
Option Explicit
use_ie
' IE用 Subプロシージャ
Sub use_ie()
Dim ie ' IE用変数
Set ie = CreateObject("InternetExplorer.Application") ' IE起動
ie.Navigate "https://www.google.co.jp" ' URL
ie.Visible = True ' IEの可視化
waitIE ie ' IEの起動待機
' 制御を破棄
ie.Quit ' IE終了
Set ie = Nothing ' 初期化
End Sub
' IEがビジー状態の間待ちます
Sub waitIE(ie)
Do While ie.Busy = True Or ie.readystate <> 4
WScript.Sleep 1000
Loop
End Sub
項目の入力・ボタンのクリック・画面項目の取得
先ほどのIE起動VBSをすこし改変してGoogleで特定の値を検索して1件目のタイトルを出力するように変更致しました。
ハイライトしている部分が変更箇所です。
Option Explicit
use_ie
' IE用 Subプロシージャ
Sub use_ie()
Dim ie ' IE用変数
Set ie = CreateObject("InternetExplorer.Application") ' IE起動
ie.Navigate "https://www.google.co.jp" ' URL
ie.Visible = True ' IEの可視化
waitIE ie ' IEの起動待機
' キーワード入力
ie.Document.getElementsByClassName("gLFyf gsfi")(0).Value = "SE人生ログ"
WScript.Sleep 1000
' 検索ボタンクリック
ie.Document.getElementById("tsf").submit
WScript.Sleep 3000
' 1件目のリンク先名を取得
MsgBox ie.document.getElementsByClassName("r")(0).innerText
ie.document.getElementsByClassName("r")(0).getElementsByTagName("a")(0).Click
WScript.Sleep 3000
waitIE ie
' 制御を破棄
ie.Quit ' IE終了
Set ie = Nothing ' 初期化
End Sub
' IEがビジー状態の間待ちます
Sub waitIE(ie)
Do While ie.Busy = True Or ie.readystate <> 4
WScript.Sleep 1000
Loop
End Sub
GoogleのIDやCLASSなどのタグ名が変わってしまうと正常に動かない場合がございますのでご了承ください。(2019/04/11時点の動作確認済み)
これだけで簡単なマクロとなりますね。
ただし、VBSで色々操作出来るのはIEのみのようです。
Chromeなどは直接exeファイルを指定してURL起動までは可能でしたが、そこから操作することは出来なかったです。
0 件のコメント :
コメントを投稿