VBAのIE(InternetExplorer)制御のformクリックサブルーチン化する方法について解説しています。
ここまで、formの「入力」「選択」「クリック」について、サブルーチン化させてきました。
今回はformのinputに対するクリックだけでなく、全てのタグに対してクリックできるサブルーチンを解説していきます。
こちらはformのsubmit・reset・button・imageをクリック処理にも使えますし、aタグなどにも利用できます。
ほとんどのクリック処理はこちらで対応できますので、前回のクリックより汎用性の高いサブルーチンとなります。
Sub tagClick(objIE As InternetExplorer, _
tagName As String, _
tagStr As String)
'タグをクリック
For Each objTag In objIE.document.getElementsByTagName(tagName)
If InStr(objTag.outerHTML, tagStr) > 0 Then
objTag.Click
Call ieCheck(objIE)
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 tagClick(objIE, "input", "送信")
'取り消しボタンをクリック
call tagClick(objIE, "input", "取り消し")
'ボタンをクリック
Call tagClick(objIE, "input", "buttonのボタンが押されました")
'ボタン2をクリック
call tagClick(objIE, "input", "ボタン2が押されました")
'画像ボタンをクリック
call tagClick(objIE, "input", "画像ボタンが押されました")
End Sub※ドラッグ(スワイプ)すると全体を確認できます。
こちらの処理でそれぞれのボタンが次々にクリックされていきます。
引数は以下の3つが設定されています。
| 引数名 | データ型 | 内容 | 値の事例 | 初期値 | 省略 |
|---|---|---|---|---|---|
| objIE | InternetExplorer | IEオブジェクト | objIE,objIE2 | × | |
| tagName | String | タグ要素の文字列 | "input","a","p" | × | |
| tagStr | String | クリックする一意のキーワード文字列 | "送信","取り消し" | × |
「objIE」はオブジェクトを入力します。
「tagName」はタグ要素(input,a,tableなど)を入力します。
「tagStr」には、クリックする一意のキーワード文字列を入力します。
となっており、「ボタンが押されました」で処理すると送信ボタンが該当するため、こちらが処理されていたということです。
こういうことはよくあることですが、1つ1つ紐解いていくと簡単に原因が分かるので、焦らずに対応しましょう。
それでは、1つずつ解説していきます。
For Each objTag In objIE.document.getElementsByTagName(tagName)
(省略)
Next
※ドラッグ(スワイプ)すると全体を確認できます。
まずは、タグ要素を取得します。ここから1つずつループでデータをチェックしていく処理です。
If InStr(objTag.outerHTML, tagStr) > 0 Then
(省略)
End If
※ドラッグ(スワイプ)すると全体を確認できます。
こちらはお馴染みの一意のキーワードが含まれているエレメントをチェックします。
objTag.Click
※ドラッグ(スワイプ)すると全体を確認できます。
「Clickメソッド」で該当するエレメントをクリックします。
Exit For
※ドラッグ(スワイプ)すると全体を確認できます。
最後に処理が完了したので、ループから脱出します。
中身は「formClickサブルーチン」と変わらない仕様となっておりますが、どんなタグにも対応しているので、非常に便利なサブルーチンです。
次回は「【まとめ】サブルーチンを利用したフォームの操作」では、フォームのサブルーチンを利用した処理についておさらいします。
次の記事: VBAでIEのサブルーチンを利用したフォーム処理 >>
近田 伸矢, 植木 悠二, 上田 寛
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)操作で役立つサブルーチンをまとめています。
全てをコピーする必要はありませんが、目的に合わせたサブルーチンをご利用ください。