フレーム内の値を自動クリック
今回はフレーム内の値をクリックする方法を解説していきます。
フレーム処理のマクロ
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
'button(ボタン)をクリック
For Each objTag In objFrame("frame1").document.getElementsByTagName("input")
If InStr(objTag.outerHTML, "ボタンが押されました") > 0 Then
'buttonボタンクリック
objTag.Click
'IEが完全表示されるまで待機
Call ieCheck(objIE)
'ループ脱出
Exit For
End If
Next
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>
実行結果
クリックの仕方も「エレメントの基本操作」と同じ方法ですね。
今回は、submitボタンなどの説明を割愛しましたが、フレーム内のクリックも全てのタグに対応するためのサブルーチンを作成していきます。
次回は「フレーム内の値を取得」について解説していきます。
次の記事: VBAでIEのフレーム内の値を取得 >>
近田 伸矢, 植木 悠二, 上田 寛
IEのデータ収集&自動操作のプログラミング本はこの1冊だけ!IEの起動やポップアップウィンドウ、表示を制御する基本的なコードはもちろん、テキストボックスやラジオボタン、表、ハイパーリンクなどのHTML部品を制御する方法など、自動操作に欠かせないノウハウを丁寧に解説。