ラジオボタンを自動選択
さて、ここまで値の自動入力について解説してきましたが、ここからはラジオボタン・チェックボックス・セレクトボックスを自動選択する方法について紹介していきます。
まずは、ラジオボタンの自動選択になります。
フォームラジオボタンの自動選択マクロ1
Sub sample()
Dim objIE As InternetExplorer
'InternetExplorerでテスト用フォームページを起動
Call ieView(objIE, "http://www.vba-ie.net/code/test.html")
'ラジオボタンを選択
objIE.document.getElementsByName("sex")(1).Checked = True
End Sub
テスト用フォームページのソース
性別: <input type="radio" name="sex" value="男" checked="checked" /> 男
<input type="radio" name="sex" value="女" /> 女
(省略)
</form>
※必要な項目のみ抽出しています。
実行結果
こちらも「GetElementsByNameメソッド」を利用した選択方法です。
name名に「sex」という名前のエレメントを取得し「Checkedプロパティ」で選択しています。
Trueで選択していますが、選択を外す場合はFalseで対応します。
今回は、男と女の2つの項目ですので、添え字0は男、添え字1は女となります。
次にもう1つ紹介すると、クリック処理でも選択することが可能です。
フォームラジオボタンの自動選択マクロ2
Sub sample()
Dim objIE As InternetExplorer
'InternetExplorerで本サイトを起動
Call ieView(objIE, "http://www.vba-ie.net/code/test.html")
'ラジオボタンをクリック
objIE.document.getElementsByName("sex")(1).Click
End Sub
こちらでも選択と同じ結果で「女」がクリックされた状態になります。
フォームラジオボタンの自動選択マクロ3
Sub sample()
Dim objIE As InternetExplorer
'InternetExplorerでテスト用フォームページを起動
Call ieView(objIE, "http://www.vba-ie.net/code/test.html")
'ラジオボタンを選択
objIE.document.forms("form1").sex(1).Checked = True
End Sub
フォームラジオボタンの自動選択マクロ4
Sub sample()
Dim objIE As InternetExplorer
'InternetExplorerで本サイトを起動
Call ieView(objIE, "http://www.vba-ie.net/code/test.html")
'ラジオボタンを選択
objIE.document.forms("form1").sex(1).Click
End Sub
フォームを取得してからの選択も同様の結果になります。
処理内容は基本操作と変わりませんので簡単ですね。
次の「チェックボックスを選択」の制御方法について解説していきます。
次の記事: VBAでIEのチェックボックスを選択 >>
近田 伸矢, 植木 悠二, 上田 寛
IEのデータ収集&自動操作のプログラミング本はこの1冊だけ!IEの起動やポップアップウィンドウ、表示を制御する基本的なコードはもちろん、テキストボックスやラジオボタン、表、ハイパーリンクなどのHTML部品を制御する方法など、自動操作に欠かせないノウハウを丁寧に解説。