InternetExplorerオブジェクトのQueryStatusWBメソッド
QueryStatusWBメソッドはコマンドのステータスを照会するには、このメンバー関数を呼び出します。
objIE.QueryStatusWB (x,y)
構文 | QueryStatusWB( ByRef cx As Integer, ByRef cy As Integer) | |
---|---|---|
引数 | 省略 | 説明 |
cx | × | 整数クライアント領域の幅を指定します。この変数には、ブラウザのウィンドウで必要とさ全幅が含まれています。 |
cy | × | 整数クライアント領域の高さを指定します。この変数には、ブラウザのウィンドウが必要とする完全な高さが含まれています。 |
QueryStatusWBメソッドのサンプルコード
Sub sample()
Dim objIE As InternetExplorer
'IE(InternetExplorer)のオブジェクトを作成する
Set objIE = CreateObject("InternetExplorer.Application")
'IE(InternetExplorer)を表示する
objIE.Visible = True
'指定したURLのページを表示する
objIE.QueryStatusWB "http://www.vba-ie.net/"
'完全にページが表示されるまで待機する
Do While objIE.Busy = True Or objIE.readyState <> 4
DoEvents
Loop
End Sub
実行結果
「VBAのIE制御」サイトのトップページが表示されます。
解説
Dim objIE As InternetExplorer
変数objIEをInternetExplorer型で宣言します。
'IE(InternetExplorer)のオブジェクトを作成する
Set objIE = CreateObject("InternetExplorer.Application")
CreateObject関数を利用してIEのオブジェクトを作成します。オブジェクト作成によりプロパティやメソッドを利用することができます。
'IE(InternetExplorer)を表示する
objIE.Visible = True
VisibleプロパティにTrueを設定することで、ブラウザを表示させます。
'指定したURLのページを表示する
objIE.QueryStatusWB "http://www.vba-ie.net/"
QueryStatusWBメソッドの第一引数に「http://www.vba-ie.net/」を設定しています。これにより「VBAのIE制御」サイトのトップページが表示されます。
'完全にページが表示されるまで待機する
Do While objIE.Busy = True Or objIE.ReadyState <> 4
DoEvents
Loop
こちらは、Webブラウザがページを完全に表示するまで処理をループさせています。これにより、完全にページを読み込むまで次の処理へ進めないようにしています。ちなみにDoEvents関数を設定しているのでは、無限ループに陥った場合に制御を戻しておくためです。
関連コンテンツ
近田 伸矢, 植木 悠二, 上田 寛
IEのデータ収集&自動操作のプログラミング本はこの1冊だけ!IEの起動やポップアップウィンドウ、表示を制御する基本的なコードはもちろん、テキストボックスやラジオボタン、表、ハイパーリンクなどのHTML部品を制御する方法など、自動操作に欠かせないノウハウを丁寧に解説。