フレーム内の値を自動選択
今回はフレーム内の値を選択する方法を解説していきます。
フレームのURLを取得して直接アクセスする方法は割愛しますが、やり方としては「エレメント操作」と同じになります。
フレーム処理のマクロ
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
'セレクトボックスを選択
objFrame("frame1").document.getElementsByName("pref")(0).selectedIndex = 2
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属性が「frame1」のフレームを指定して、更に「pref」という名前のエレメントを取得し、「SelectedIndexプロパティ」で選択しています。
今回は、インデックス2番の福岡を選択しています。
次回は「フレーム内の値クリック」について解説していきます。
次の記事: VBAでIEのフレーム内の値をクリック >>
近田 伸矢, 植木 悠二, 上田 寛
IEのデータ収集&自動操作のプログラミング本はこの1冊だけ!IEの起動やポップアップウィンドウ、表示を制御する基本的なコードはもちろん、テキストボックスやラジオボタン、表、ハイパーリンクなどのHTML部品を制御する方法など、自動操作に欠かせないノウハウを丁寧に解説。