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で質問しましょう!
似たような質問が見つかりました
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- JavaScript javascriptで入力フォームが空欄の時にアラートによるエラーを出すコードを書いています。 2 2023/06/13 17:58
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- JavaScript javascriptで移動ボタンを押した際に遷移するボタンを追記したい 1 2022/11/29 03:02
- JavaScript Javascriptが機能せず原因が分からないので教えて頂きたいです 3 2023/06/04 14:50
- JavaScript sessionStorageを調べています。 1 2023/06/20 12:41
- JavaScript jqueryを使ったスムーススクロールのコードを書いたのですが、HTMLコード内にある、a butt 2 2022/04/14 10:59
- HTML・CSS ただいま勉強始めたての初心者です。フォームを縦並べにしたいです。 2 2022/11/20 17:18
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
アクセスVBAのMe!と[ ]
-
VBA エンターキーでイベントに...
-
現在アクティブになっているオ...
-
Accessのフォーム上にエクセル...
-
【エクセルのマクロ】クリップ...
-
エクセルのデータをwebフォーム...
-
VBAでフォームのコントロールの...
-
日本語の文字化けを直す方法
-
【エクセル】複数のTextBoxに共...
-
ACCESSマクロ、Me![氏名] その...
-
エクセルVBAでセル番地を指定し...
-
VBA:ホームページ内のデータテ...
-
[C#] DataGridViewの項目名
-
Webbrowserで完全にHPを表示さ...
-
文字列で小数点以下の0を削除し...
-
NoxPlayerとUWSCのadbの座標に...
-
「ご処理進めて頂きますようお...
-
CloseとDisposeの違い
-
VBAでループ内で使う変数名を可...
-
エクセルVBAで、MsgBox やInput...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBA エンターキーでイベントに...
-
アクセスVBAのMe!と[ ]
-
文字列で小数点以下の0を削除し...
-
Excel VBAでマウスの左クリック...
-
【エクセルのマクロ】クリップ...
-
エクセルVBAでセル番地を指定し...
-
Accessのフォーム上にエクセル...
-
コードでオブジェクトを最前面に
-
日本語の文字化けを直す方法
-
現在アクティブになっているオ...
-
Imageコントロールにグラフを表...
-
Excel2007 でのチェックボック...
-
PowerpointVBAで指定のShapeオ...
-
Access からオブジェクトとして...
-
エクセルのデータをwebフォーム...
-
【エクセル】複数のTextBoxに共...
-
[C#] DataGridViewの項目名
-
カッコ付けのオブジェクト名を...
-
ExcelのシートをAccessで表示し...
-
ユーザーフォームのインポート...
おすすめ情報