フレーム内の値を自動取得
今回はフレーム内の値を取得する方法を解説していきます。
フレーム処理のマクロ
Sub sample()
Dim objIE As InternetExplorer
Dim objFrame As Object
'テスト用フレームページを表示
Call ieView(objIE, "http://www.vba-ie.net/code/test2.html")
'フレーム情報取得
Set objFrame = objIE.document.frames
'h1タグのテキスト抽出
Debug.Print objFrame("frame2").document.getElementsByTagName("h1")(0).innerText
End Sub
テスト用フレームページのソース
<frame src="http://www.vba-ie.net/code/test.html" name="frame1">
<frame src="http://www.vba-ie.net/code/ieview2.html" name="frame2">
</frameset>
実行結果
こちらの処理はname属性が「frame2」のフレームを指定して、h1タグの値を取得しています。
このようにフレームを取得した後の処理はエレメント操作と同じですので、簡単に取得することができます。
ここまでがフレーム処理にについての解説になります。次回はフレーム処理のサブルーチンについて紹介します。まずは、「フレーム内フォーム入力」から見ていきましょう。
次の記事: VBAでIEのフレーム内フォーム入力のサブルーチン化 >>
近田 伸矢, 植木 悠二, 上田 寛
IEのデータ収集&自動操作のプログラミング本はこの1冊だけ!IEの起動やポップアップウィンドウ、表示を制御する基本的なコードはもちろん、テキストボックスやラジオボタン、表、ハイパーリンクなどのHTML部品を制御する方法など、自動操作に欠かせないノウハウを丁寧に解説。