InternetExplorerオブジェクトのNavigateメソッド
Navigateメソッドは指定したURLをIEで表示させます。5つの引数が用意されていますが、こちらでは必須項目であるURLだけを利用していきます。
objIE.Navigate ("IEに表示させるWebページのURL")
構文 | Navigate(URL As String, [flags], [TargetFrameName], [PostData], [Headers]) | |
---|---|---|
引数 | 省略 | 説明 |
URL | × | IEに表示させるWebページのURL。表示させたいURLを文字列で設定します。 |
flags | ● | ウィンドウの詳細設定。 1・・・新しいウィンドウで開く 2048・・・新しいタブで開く など 参考サイト:設定値 |
TargetFrameName | ● | ウィンドウの表示設定。 _blank・・・新規のウィンドウに表示 _self・・・現在のフレーム(ウィンドウ)に表示 _parent・・・親フレームに表示 _top・・・フレーム分割を解除してウィンドウ全体に表示 フレーム名、ウィンドウ名・・・任意のフレーム(ウィンドウ)に表示 |
PostData | ● | POSTデータ設定。POSTの送信先へこちらで設定したPOSTデータを送信します。 |
Headers | ● | HTTPヘッダーに送信するデータ設定。 |
戻り値 | 次のいずれかの値を返します。 S_OK・・・操作は正常に終了しました。 E_INVALIDARG・・・一つ以上のパラメータが無効です。 E_OUTOFMEMORY・・・メモリ不足です。 |
参考サイト:Navigate method
Navigateメソッドのサンプルコード
Sub sample()
Dim objIE As InternetExplorer
'IE(InternetExplorer)のオブジェクトを作成する
Set objIE = CreateObject("InternetExplorer.Application")
'IE(InternetExplorer)を表示する
objIE.Visible = True
'指定したURLのページを表示する
objIE.navigate "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.Navigate "http://www.vba-ie.net/"
Navigateメソッドの第一引数に「http://www.vba-ie.net/」を設定しています。これにより「VBAのIE制御」サイトのトップページが表示されます。
'完全にページが表示されるまで待機する
Do While objIE.Busy = True Or objIE.ReadyState <> 4
DoEvents
Loop
こちらは、Webブラウザがページを完全に表示するまで処理をループさせています。これにより、完全にページを読み込むまで次の処理へ進めないようにしています。ちなみにDoEvents関数を設定しているのでは、無限ループに陥った場合に制御を戻しておくためです。
関連コンテンツ
近田 伸矢, 植木 悠二, 上田 寛
IEのデータ収集&自動操作のプログラミング本はこの1冊だけ!IEの起動やポップアップウィンドウ、表示を制御する基本的なコードはもちろん、テキストボックスやラジオボタン、表、ハイパーリンクなどのHTML部品を制御する方法など、自動操作に欠かせないノウハウを丁寧に解説。