- PR -

vb2005のWebbrowserでチェックボックスの値を変える

投稿者投稿内容
未記入
常連さん
会議室デビュー日: 2006/07/12
投稿数: 24
投稿日時: 2006-07-12 15:37
b2005のWebbrowserコントロールで表示さているhtmlの中に
「web_text」というテキストフィールドがある場合、
WebBrowser1.Document.All.GetElementsByName("web_text")(0).InnerText = "あああ"
というコードを実行すると、テキストフィールドに「あああ」という文字が入りますが、
似たようなカンジで、
チェックボックスの値を変えたり、
コンボボックスの値を選択したり、
ラジオボタンの値を選択したりする
方法がわかりません。
どなたかご教授願いたく思っております。
会議室デビュー日: 2006/07/12
投稿数: 5
投稿日時: 2006-07-12 15:54
たぶん同じような方法で取得、設定することができます。

WebBrowser1.Document.All.GetElementsByName(ラジオボタンの名前).checked = true;
コンボボックスならselectedindex
チェックボックスならcheked
で値を変更してあげればいいと思います。

http://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/jpisdk/dhtml/references/domrefs.asp
未記入
常連さん
会議室デビュー日: 2006/07/12
投稿数: 24
投稿日時: 2006-07-12 17:32
早速のお返事ありがとうございます。

私もそう思っていたのですが、
WebBrowser1.Document.All.GetElementsByName("ラジオボタンの名前")(0).checked = "true"
と書くと、
"checked"は"system.windows.forms.HtmlElement"のメンバではありません。
という風に言われます。
Hongliang
ぬし
会議室デビュー日: 2004/12/25
投稿数: 576
投稿日時: 2006-07-12 17:50
.NET 2.0 における HTML DOM は、要素によってクラス分けしたりせず全て HtmlElement クラスでまかなうようになっています。
要素独自の属性やメソッドについては Get/SetAttribute や InvokeMember を使用します。
未記入
ベテラン
会議室デビュー日: 2003/06/26
投稿数: 76
投稿日時: 2006-07-12 18:11


[ メッセージ編集済み 編集者: 未記入 編集日時 2007-01-19 21:50 ]
未記入
常連さん
会議室デビュー日: 2006/07/12
投稿数: 24
投稿日時: 2006-07-12 18:24
>ぜうす様
お返事ありがとうございます。

window.document.getElementsByID("ラジオボタンの名前").checked = true;

だと、まず、windowの所で波下線が出て、
「名前"windows"は宣言されていません」
また、;の部分で「文字が有効ではありません」と表示されます。

当方、VisualStudio2005のVBで開発しております。
未記入
常連さん
会議室デビュー日: 2006/07/12
投稿数: 24
投稿日時: 2006-07-12 18:26
>Hongliang様
お返事ありがとうございます。

要は「HTML DOM」をヘルプで読んで勉強しなさいってことですね。
当方、VB2005は初心者でよく分からないのです・・・。
分からんなりに読んでみます。

会議室デビュー日: 2006/07/12
投稿数: 5
投稿日時: 2006-07-12 18:27
2005だと仕様が違うのですね。申し訳ありません。
当方VS2003しか環境がありませんので、確認はできませんが、
Hongliang様がおっしゃる様に、setAttributeを使用し、

WebBrowser1.Document.All.getElementsByID("ラジオボタンの名前").setAttribute("checked","true");

な感じでどうでしょうか?
//setAttributeの使い方を間違っていたので編集しました。

[ メッセージ編集済み 編集者: 庚 編集日時 2006-07-12 18:29 ]

[ メッセージ編集済み 編集者: 庚 編集日時 2006-07-12 18:33 ]

スキルアップ/キャリアアップ(JOB@IT)