VB2008でWebBrowserコントロール内のsubmitボタンを以下のコードでクリックしようとしているのですが、
WebBrowser1.Document.Forms("フォームの名前").InvokeMember("submit")
NullReferenceExceptionはハンドルされませんでした。
オブジェクト参照がオブジェクト インスタンスに設定されていません。
というエラーが出ます。
ボタンがフォームの中ではなく、tableの中に配置されているようで、idも指定されておらず、nameとvalueだけ指定されているのですが何か方法はないでしょうか。
どなたかお願いします。
No.3ベストアンサー
- 回答日時:
IE7以上でVB2008だと、VBA(VB6)の"InternetExplorer.application"オブジェクトが何故か動きません(参照設定しても)
VB2008でWebBrowserコントロールオブジェクトを使うときは、今一面倒です。
ご質問のケースでは、<form>タグが無いのですね。このような時は、
<input type"submit" ...>のタグを探してInvokeMember("click")するしかないでしょう。
探し方は、いろいろありますが、一例を挙げると、
WebBrowser1.Document.GetElementsByTagName("input").Count
の数だけループして
webBrowser1.Document.GetElementsByTagName("input").Item(i).GetAttribute("Type").ToString
の値が "submit" の要素を見つけて
WebBrowser1.Document.GetElementsByTagName("input").Item(i).InvokeMember("click")
です。
No.2
- 回答日時:
No1です。
VBはよく知らないので、あまりお力にはなれそうもないですが…検索してみたところ、かなり古いですが(VB6なので)以下のようなものがありました。
http://hpcgi1.nifty.com/MADIA/VBBBS/wwwlng.cgi?p …
http://hpcgi1.nifty.com/MADIA/VBBBS2/wwwlng.cgi? …
これ(↑)によると、Formをsubmitしてあげるか、INPUT type="submit"を探して、Clickしてあげるかのどちらかだと思うのですが…)
仕様が変わっちゃったんでしょうかね。
>「'submit' は 'System.Windows.Forms.HtmlElement' のメンバでは
>ありません」
っていわれちゃうとなると、なんとも…
ひょっとして、Formオブジェクトがうまく取得できていないってことはないですよね?
後は、他の方からの回答をお待ちします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・ハマっている「お菓子」を教えて!
- ・最近、いつ泣きましたか?
- ・夏が終わったと感じる瞬間って、どんな時?
- ・10秒目をつむったら…
- ・人生のプチ美学を教えてください!!
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
アクセスVBAのMe!と[ ]
-
VBA エンターキーでイベントに...
-
カッコ付けのオブジェクト名を...
-
Excel VBAでマウスの左クリック...
-
「SHDocVw」の意味
-
SelectObjectの戻り値
-
コードでオブジェクトを最前面に
-
vba ユーザーフォームのテキス...
-
PowerpointVBAで指定のShapeオ...
-
ユーザーフォームのインポート...
-
VBAで選択範囲外の図形(オブジ...
-
VBAでフォームのコントロールの...
-
Imageコントロールにグラフを表...
-
LoadImage関数について(VC++)
-
【エクセル】複数のTextBoxに共...
-
文字列で小数点以下の0を削除し...
-
Access からオブジェクトとして...
-
「ご処理進めて頂きますようお...
-
エクセルで、日付を入力すると...
-
Excelシート上のマクロを登録し...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBA エンターキーでイベントに...
-
アクセスVBAのMe!と[ ]
-
Excel2007 でのチェックボック...
-
Access からオブジェクトとして...
-
エクセルVBAでセル番地を指定し...
-
Excel VBAでマウスの左クリック...
-
【エクセルのマクロ】クリップ...
-
日本語の文字化けを直す方法
-
現在アクティブになっているオ...
-
Accessのフォーム上にエクセル...
-
文字列で小数点以下の0を削除し...
-
【エクセル】複数のTextBoxに共...
-
ユーザーフォームのインポート...
-
Excelを閉じるときVBAプロジェ...
-
コードでオブジェクトを最前面に
-
PowerpointVBAで指定のShapeオ...
-
Imageコントロールにグラフを表...
-
VBAで選択範囲外の図形(オブジ...
-
C#で画像をクリップボードへの...
-
WSH or VBの質問
おすすめ情報