- PR -

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

投稿者投稿内容
未記入
常連さん
会議室デビュー日: 2006/07/12
投稿数: 24
投稿日時: 2006-07-12 18:33
>庚さん
お返事ありがとうございます。

WebBrowser1.Document.All.getElementsByID("ラジオボタンの名前").setAttribute("checked") = true;
だと、
「"getElementsByID"は"system.windows.forms.HtmlElementCollection"のメンバではありません。
という風に言われます・・・。
あと、 「;」はvb2005では使わないようです。
未記入
常連さん
会議室デビュー日: 2006/07/12
投稿数: 24
投稿日時: 2006-07-12 18:43
>庚さん
お返事ありがとうございます。

WebBrowser1.Document.All.getElementsByID("チェックボックスの名前").setAttribute("checked","true");
だと、
「"getElementsByID"は"system.windows.forms.HtmlElementCollection"のメンバではありません。
という風に言われます・・・。
何度もすいませんm(__)m
べる
ぬし
会議室デビュー日: 2003/09/20
投稿数: 1093
投稿日時: 2006-07-12 19:04
引用:
WebBrowser1.Document.All.getElementsByID("チェックボックスの名前").setAttribute("checked","true");
だと、
「"getElementsByID"は"system.windows.forms.HtmlElementCollection"のメンバではありません。
という風に言われます・・・。

いわれているとおりでしょう。そんなメソッドがないんです。

引用:
WebBrowser1.Document.All.GetElementsByName("web_text")(0).InnerText = "あああ"
というコードを実行すると、テキストフィールドに「あああ」という文字が入りますが、

これがわかってるならあとちょっとです。
WebBrowser1.Document.All.GetElementsByName("名前")(0).setAttribute("checked","true");
かな?

VS2003(つまり.NET1.1)にはこのクラスはないですよ。
会議室デビュー日: 2006/07/12
投稿数: 5
投稿日時: 2006-07-12 19:21
>未記入さん
こちらこそお役に立てなくて申し訳ありません。

べるさんのご指摘どおり、関数名が間違っていました。
getElementsByID → GetElementById

また、返答時にVBとの記述を見過ごし、C#で書いておりました。
お目汚し大変失礼いたしました。

しかもGetElementById()は、IDで検索するもので、HTMLの方でID設定しないと使えません。見なかったことにしてください…orz
混乱させてしまってすみませんでした。m(_ _)m
未記入
常連さん
会議室デビュー日: 2006/07/12
投稿数: 24
投稿日時: 2006-07-12 19:46
>べる様
お返事ありがとうございます。

WebBrowser1.Document.All.GetElementsByName("名前")(0).setAttribute("checked","true");
の「;」を取ってみると、エラーなく実行出来ました。

が、しかし、チェックボックスのチェックは変わらずでした。

元々チェックが付いているチェックボックスのチェックを外したいと思っています。

htmlのチェックボックスのソースコードは
--------------------------------------------------------
<INPUT type=checkbox CHECKED value=1 name=ch_ab>
--------------------------------------------------------
なので、vbの方でチェックを取るために、
--------------------------------------------------------
WebBrowser1.Document.All.GetElementsByName("ch_ab")(0).SetAttribute("checked", "false")
--------------------------------------------------------
としたのですが、チェックが外れません。
未記入
常連さん
会議室デビュー日: 2006/07/12
投稿数: 24
投稿日時: 2006-07-12 19:47
>庚様
お返事ありがとうございます。

いえいえ、こちらは元々訳分からずやってますので、
今更何を言われたところで混乱することはありません(^^ゞ

色々なことを教えていただき感謝しております。
未記入
常連さん
会議室デビュー日: 2006/07/12
投稿数: 24
投稿日時: 2006-07-12 20:27
>皆様へ

-----------------------------------------------------------
WebBrowser1.Document.All.GetElementsByName("ch_ab")(0).SetAttribute("CHECKED", "")
-----------------------------------------------------------
と書けば、チェックボックスのチェックが外れ
-----------------------------------------------------------
WebBrowser1.Document.All.GetElementsByName("ch_ab")(0).SetAttribute("CHECKED", "1")
-----------------------------------------------------------
と書けば、チェックボックスのチェックがつくことがわかりました!!

協力してくださった皆様、ありがとうございます。

あとは、コンボボックスとラジオボタンです(+_+)
未記入
ベテラン
会議室デビュー日: 2003/06/26
投稿数: 76
投稿日時: 2006-07-12 21:17
>WebBrowser1.Document.All.GetElementsByName("web_text")(0).InnerText = "あああ"

これは
  WebBrowser1.Document.All.GetElementsByName("web_text")(0).SetAttribute("VALUE", "あああ")
 と同等みたいですね。

 で、調子に乗ってコンボボックスなど設定しようとすると...
 Dim a As New Object
 a = WebBrowser1.Document.All.GetElementsByName("Combo1")
 a(0).SelectedIndex = 0
 駄目ですな〜〜。
GetAttribute、SetAttribute 、InvokeMethodは使い方が難しいな〜...。

 で、僕の回答はJavaScriptでした。関係なかったです、済みませんでした。
 しかし、JavaScriptだととっても簡単だのに...。

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