VBAからIE操作 .document.forms(0).Submit でフォーム送信処理
フォーム内にある登録ボタンを「objIE.Document.forms(0).Submit」で動作してみると、
ボタンは押されているみたいなのですが、同じページが開かれるだけで、登録されません。
なぜでしょうか?宜しくお願い致します。
以下はボタンのソースです。(他に必要なソースがあったら言ってください)
<div><button class="button" onclick="var
f=this.form;f.action='/business/entry_menu/entrance/create';;f.submit();this.disabled=true;">登録</button>
No.2
- 回答日時:
ご提示のHTMLソースだと、ボタンを押した時に、javascriptで以下の処理がなされています。
1)当該フォームのアクションのURLを設定(または変更?)
2)フォームをサブミット
3)登録ボタンを無効化する
VBAでいきなりsubmitすると、↑のアクションの設定がなされませんが、もとのHTMLソース(タグ内)にアクションが設定されているのでしょうか?
されていないために、何もおきないのでは?
ブラウザ上から登録ボタンを押すのと同様にしたいのなら、ボタンを押したことにするか、↑と同様にアクションを設定してからサブミットするかのどちらかでいけるのでは?
この回答への補足
>ブラウザ上から登録ボタンを押すのと同様にしたいのなら、ボタンを押したことにするか、↑と同様にアクションを設定してからサブミットするかのどちらかでいけるのでは?
ボタンを押したことにする場合、ボタンに名前が付いていないので、問う記述していいのかがわかりませんでした。
また、アクションを設定してからサブミットする方法もわかりません。
どちらでも良いので教えていただけませんか?
No.3ベストアンサー
- 回答日時:
No2です。
VBAで、HTMLの操作をしたことがありませんので正しい方法はわかりませんが、適当に作成してみたところ、簡単な環境では一応動作するみたい。
(正しい記述方法かどうかは検証していません。)
>ボタンを押したことにする場合、ボタンに名前が付いていないので~
HTMLのソースを修正することはできないということでしょうか?
現状のままのソースに対応しなければならないのでしょうか? formの構成が不明なので、ちゃんと特定するのが難しいかも。アクションを設定するほうが簡単そうですね。
というわけで、まずはアクションを設定する方法
objIE.Document.forms(0).Action = "/business/entry_menu/entrance/create"
objIE.Document.forms(0).Submit
ボタンを押す方法はボタンの特定にちょっと問題がありますが、とりあえずボタンタグでclassがbuttunという条件を満たすものが一つしかないと仮定できれば…
dim e as object
Set e =objIE.Document.forms(0).elements
For i = 0 To e.Length - 1
If e(i).nodeName = "BUTTON" And e(i).className = "button" Then e(i).Click
Next i
みたいな感じ。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- JavaScript javascriptで移動ボタンを押した際に遷移するボタンを追記したい 1 2022/11/29 03:02
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- JavaScript jqueryを使ったスムーススクロールのコードを書いたのですが、HTMLコード内にある、a butt 2 2022/04/14 10:59
- JavaScript Javascriptが機能せず原因が分からないので教えて頂きたいです 3 2023/06/04 14:50
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- JavaScript javascriptで入力フォームが空欄の時にアラートによるエラーを出すコードを書いています。 2 2023/06/13 17:58
- JavaScript Javascript初心者|jQueryの.val()で値を取得し複数の要素を連結させる方法知りたい 2 2022/06/02 12:06
- PHP PHP MySql 画像を取得 1 2022/06/04 14:05
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBA シートのボタン名を変更し...
-
VBA(エクセル)で自動的にボタン...
-
ユーザーフォームに別シートか...
-
フォームの再読み込み
-
Excel VBA Application.caller...
-
CommandButtonのCaptionを変化...
-
コマンドボタンやイメージにマ...
-
セルをマクロのボタンにしたい。
-
ボタン
-
Access VBA でデータペーストを...
-
VBA でエクセルにパスワードを...
-
[Excel VBA]コマンドボタンの入...
-
C♯初心者で、四則演算の電卓を...
-
VB.net でトグルボタンを実現し...
-
VBAのボタンの位置が変わって困...
-
VBAでオプションボタンによって...
-
ASP.Net ラベルの内容をすぐに...
-
コマンドボタンの文字色
-
フォームから別のフォームを呼...
-
閉じると「+」になり開くと「-...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBA シートのボタン名を変更し...
-
VBA(エクセル)で自動的にボタン...
-
フォームの再読み込み
-
ユーザーフォームに別シートか...
-
VBA CommandButtonの文字ずれ
-
セルをマクロのボタンにしたい。
-
コマンドボタンやイメージにマ...
-
Excel VBA Application.caller...
-
VBAのボタンの位置が変わって困...
-
Access VBA でデータペーストを...
-
プロシージャからイベントをコ...
-
他のアプリケーションとの連携
-
閉じると「+」になり開くと「-...
-
C#で動的に作ったtextboxを消す。
-
ボタンをマウスで押し続けたと...
-
VBA でのボタンの移動について
-
ボタン
-
CommandButtonのCaptionを変化...
-
TextBoxでEnterキーを押すと、...
-
VB.net でトグルボタンを実現し...
おすすめ情報