
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.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
みたいな感じ。
No.2
- 回答日時:
ご提示のHTMLソースだと、ボタンを押した時に、javascriptで以下の処理がなされています。
1)当該フォームのアクションのURLを設定(または変更?)
2)フォームをサブミット
3)登録ボタンを無効化する
VBAでいきなりsubmitすると、↑のアクションの設定がなされませんが、もとのHTMLソース(タグ内)にアクションが設定されているのでしょうか?
されていないために、何もおきないのでは?
ブラウザ上から登録ボタンを押すのと同様にしたいのなら、ボタンを押したことにするか、↑と同様にアクションを設定してからサブミットするかのどちらかでいけるのでは?
この回答への補足
>ブラウザ上から登録ボタンを押すのと同様にしたいのなら、ボタンを押したことにするか、↑と同様にアクションを設定してからサブミットするかのどちらかでいけるのでは?
ボタンを押したことにする場合、ボタンに名前が付いていないので、問う記述していいのかがわかりませんでした。
また、アクションを設定してからサブミットする方法もわかりません。
どちらでも良いので教えていただけませんか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBA シートのボタン名を変更し...
-
VBAでオプションボタンによって...
-
閉じると「+」になり開くと「-...
-
VBA(エクセル)で自動的にボタン...
-
Excel VBA Application.caller...
-
VB.NET テキストボックスの入力...
-
ボタンをマウスで押し続けたと...
-
MouseDownとMouseMoveイベント...
-
セルをマクロのボタンにしたい。
-
バックスペース機能の作り方
-
ユーザーフォームに別シートか...
-
VBでのエラー音の消し方
-
テキストボックスの中身消去
-
コマンドボタンやイメージにマ...
-
senderに含まれているハンドル...
-
VBAのボタンの位置が変わって困...
-
チェックボックスで指定出来る...
-
エクセルVBAでユーザーフォーム...
-
VBA CommandButtonの文字ずれ
-
フォームから別のフォームを呼...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBA シートのボタン名を変更し...
-
VBA(エクセル)で自動的にボタン...
-
Excel VBA Application.caller...
-
VBA CommandButtonの文字ずれ
-
[VB.net] ボタン(Flat)のEnable...
-
コマンドボタンやイメージにマ...
-
VBAのボタンの位置が変わって困...
-
VB.net でトグルボタンを実現し...
-
フォームの再読み込み
-
閉じると「+」になり開くと「-...
-
アイコンとボタンの違い
-
ボタン
-
Access VBA でデータペーストを...
-
セルをマクロのボタンにしたい。
-
C#プログラムで、ボタンをショ...
-
ユーザーフォームに別シートか...
-
Excel マクロ 閉じるボタン
-
VBAで多数のプログラムを一つの...
-
ボタンをマウスで押し続けたと...
-
ASP.Net ラベルの内容をすぐに...
おすすめ情報