重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

AxWebBrowserで開いたWebページを操作したいのですがコンボボックスの操作が上手くいきません。

Dim doc As mshtml.HTMLDocument
doc = AxWebBrowser1.Document

'テキストボックス
doc.all.item("text").innertext = "あああ"
'ラジオボタン
doc.all.item("radio", 0).Checked = True


テキストへの文字列の挿入とラジオボタンの制御はこれでできました。
環境はVB.NET 2005です。
どうか、よろしくお願いします。

A 回答 (2件)

コンボボックスのHTMLソースが



----------------------------
例1:idを持つ場合
----------------------------
<select id="Select1"> ← 「Select1」というIDを持っている
<option selected="selected" value="1">あ</option>
<option value="2">い</option>
<option value="3">う</option>
</select>

~VB~
Dim doc As mshtml.HTMLDocument
doc = AxWebBrowser1.Document

'複数の同じIDを持つコンボがあった場合、先頭のコンボを利用
Dim cmb As mshtml.HTMLSelectElement = doc.all.item("select1", 0)

----------------------------
例2:idを持たない場合
----------------------------
<select id="Select1"> ← IDを持っていない
<option selected="selected" value="1">あ</option>
<option value="2">い</option>
<option value="3">う</option>
</select>

~VB~
Dim doc As mshtml.HTMLDocument
doc = AxWebBrowser1.Document

'コンボ群を取得
Dim elmcol As mshtml.IHTMLElementCollection = doc.getElementsByTagName("select")
'先頭のコンボを利用
Dim cmb As mshtml.HTMLSelectElement = elmcol.item(0)



----------------------------
例1か例2でコンボを捕まえたら
----------------------------
後は好きな方法で値を設定
cmb.value = 1 '値での設定
cmb.selectedIndex = 2 '0からのIndex値
    • good
    • 0
この回答へのお礼

いけましたー^^
本当に困っていたので助かりました。

ありがとうございます。

お礼日時:2010/08/19 09:40

失礼しました


----------------------------
例2:idを持たない場合
----------------------------
<select id="Select1"> ← IDを持っていない
<option selected="selected" value="1">あ</option>
<option value="2">い</option>
<option value="3">う</option>
</select>

IDありますね。。。

----------------------------
例2:idを持たない場合(訂正版)
----------------------------
<select> ← IDを持っていない
<option selected="selected" value="1">あ</option>
<option value="2">い</option>
<option value="3">う</option>
</select>
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!