resetボタンを自動クリック
前回の「submitボタンをクリック」では、ループ処理でクリックする方法を解説しましたが、resetボタンも同様に処理します。
フォームresetボタンをクリックマクロ1
Sub sample()
Dim objIE As InternetExplorer
Dim objTag As Object
'テスト用フォームページを表示
Call ieView(objIE, "http://www.vba-ie.net/code/test.html")
'名前のテキストボックスに値を入力
objIE.document.forms("form1").name.value = "田中太郎"
'パスワードボックスに値を入力
objIE.document.GetElementsByName("pass")(0).value = "1234"
'チェックボックスを選択
objIE.document.getElementsByName("lcolor")(0).Checked = True
objIE.document.getElementsByName("lcolor")(2).Checked = True
'reset(取り消し)をクリック
objIE.document.forms("form1").Reset
End Sub
テスト用フォームページのソース
<input type="reset" value="取り消し" />
(省略)
</form>
※必要な項目のみ抽出しています。
実行結果
こちらでは一旦データを入力した後に、「resetメソッド」を利用して、初期化させています。
実際にプログラムでreset処理をすることはあまりありませんが、reset処理もできることを覚えておきましょう。
フォームresetボタンをクリックマクロ2
Sub sample()
Dim objIE As InternetExplorer
Dim objTag As Object
'テスト用フォームページを表示
Call ieView(objIE, "http://www.vba-ie.net/code/test.html")
'名前のテキストボックスに値を入力
objIE.document.forms("form1").name.value = "田中太郎"
'パスワードボックスに値を入力
objIE.document.GetElementsByName("pass")(0).value = "1234"
'チェックボックスを選択
objIE.document.getElementsByName("lcolor")(0).Checked = True
objIE.document.getElementsByName("lcolor")(2).Checked = True
'reset(取り消し)をクリック
For Each objTag In objIE.document.getElementsByTagName("input")
If InStr(objTag.outerHTML, "取り消し") > 0 Then
'取り消しボタンクリック
objTag.Click
'IEが完全表示されるまで待機
Call ieCheck(objIE)
'ループ脱出
Exit For
End If
Next
End Sub
こちらは、ループ処理を利用した方法です。
クリック処理については、基本フォームだけでなく、様々なタグをクリックすることができますので、非常に便利な方法となります。
次は「buttonボタンをクリック」について解説していきます。
次の記事: VBAでIEのbuttonボタンをクリック >>
近田 伸矢, 植木 悠二, 上田 寛
IEのデータ収集&自動操作のプログラミング本はこの1冊だけ!IEの起動やポップアップウィンドウ、表示を制御する基本的なコードはもちろん、テキストボックスやラジオボタン、表、ハイパーリンクなどのHTML部品を制御する方法など、自動操作に欠かせないノウハウを丁寧に解説。