VBAのIE(InternetExplorer)制御のformクリックサブルーチン化する方法について解説しています。
今回は、チェックボックス・ラジオボタンの「クリック」についての解説です。
次回解説する送信・リセットなどとは別のやり方となります。
利用頻度の高さで言えば後者になりますが、formのサブルーチンということですので念のためご紹介します。
ただし、こちらの方がより確実な方法ですので、もし後者で対応できない場合は、こちらで処理をしましょう。
Sub formClick(objIE As InternetExplorer, _
nameValue As String, _
tagValue As String)
'form要素のクリック
For Each objTag In objIE.document.getElementsByTagName("input")
If objTag.Name = nameValue And objTag.Value = tagValue Then
objTag.Click
Exit For
End If
Next
End Sub
※ドラッグ(スワイプ)すると全体を確認できます。
Sub sample()
Dim objIE As InternetExplorer
'テスト用フォームページを表示
Call ieView(objIE, "http://www.vba-ie.net/code/test.html")
'性別をクリック
call formClick(objIE, "sex", "女")
'好きな色をクリック
call formClick(objIE, "lcolor", "赤")
call formClick(objIE, "lcolor", "黄")
End Sub
※ドラッグ(スワイプ)すると全体を確認できます。
こちらの処理で「性別」「好きな色」を自動クリックします。
引数について以下の3つを設定しています。
引数名 | データ型 | 内容 | 値の事例 | 初期値 | 省略 |
---|---|---|---|---|---|
objIE | InternetExplorer | IEオブジェクト | objIE,objIE2 | × | |
nameValue | String | name属性の名前文字列 | "sex","lcolor" | × | |
tagValue | String | 目的エレメントのクリックする値文字列 | "女","赤","黄" | × |
こちらは、おなじみの内容です。
「objIE」はオブジェクトを入力します。
「Name」はname属性を値を入力します。
「tagValue」には、クリックする値を入力します。
For Each objTag In objIE.document.getElementsByTagName("input")
(省略)
Next
※ドラッグ(スワイプ)すると全体を確認できます。
まずは、input要素を取得します。ここから1つずつループでデータをチェックしていく処理です。
If objTag.Name = Name And objTag.Value = tagValue Then
(省略)
End If
※ドラッグ(スワイプ)すると全体を確認できます。
こちらでは、name属性とクリックする値が一致した場合に次の処理へ進む形になります。
objTag.Click
※ドラッグ(スワイプ)すると全体を確認できます。
「Clickメソッド」で該当するエレメントをクリックします。
Exit For
※ドラッグ(スワイプ)すると全体を確認できます。
最後に処理が完了したので、ループから脱出します。
次回は「タグクリック」について解説していきます。
次の記事: VBAでIEのtagクリックサブルーチン化 >>
近田 伸矢, 植木 悠二, 上田 寛
IEのデータ収集&自動操作のプログラミング本はこの1冊だけ!IEの起動やポップアップウィンドウ、表示を制御する基本的なコードはもちろん、テキストボックスやラジオボタン、表、ハイパーリンクなどのHTML部品を制御する方法など、自動操作に欠かせないノウハウを丁寧に解説。
↑VBAのIE操作で分からない事があればこちらの掲示板よりご質問ください。
ExcelのVBA初心者入門↑こちらはVBAをマスターできるよう初心者向けのエクセルVBA入門コンテンツになります。
こちらでは、これまでに紹介したIE(InternetExplorer)操作で便利な機能をツール化しています。無償でダウンロードできますので、目的に合わせたご利用ください。
こちらでは、IE(InternetExplorer)オブジェクトのメソッド・プロパティをまとめています。
こちらでは、エクセルVBAのIE(InternetExplorer)操作で利用されたVBA関数をまとめています。
こちらでは、エクセルVBAのIE(InternetExplorer)操作で利用されたステートメントをまとめています。ExcelのVBAで基本的な部分になりますので、しっかり理解しましょう。
こちらでは、これまでに作成したIE(InternetExplorer)操作で役立つサブルーチンをまとめています。
全てをコピーする必要はありませんが、目的に合わせたサブルーチンをご利用ください。