InternetExplorerオブジェクトのRefreshメソッド
RefreshメソッドはWebブラウザに表示されているWebページの再読み込み(リフレッシュ)を行うメソッドです。Webブラウザ自体が読み込み失敗している場合などで有効な処理となります。
objIE.Refresh
Refreshメソッドのサンプルコード
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
objIE.Refresh
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関数を設定しているのでは、無限ループに陥った場合に制御を戻しておくためです。
objIE.Refresh
Refreshメソッドを利用して、再読込を行っています。
関連コンテンツ
近田 伸矢, 植木 悠二, 上田 寛
IEのデータ収集&自動操作のプログラミング本はこの1冊だけ!IEの起動やポップアップウィンドウ、表示を制御する基本的なコードはもちろん、テキストボックスやラジオボタン、表、ハイパーリンクなどのHTML部品を制御する方法など、自動操作に欠かせないノウハウを丁寧に解説。