
お世話になります。
VBAでWEB上の入力項目に値をいれたいのですがフォームのタイプがhiddenにはどのようにいれたらよいでしょうか?
WEB上では
(1)「選択」ボタンを押す。
(2)別の画面が開き、そこで、値を選択してOK
(3)元の画面に戻ると(2)の値が反映されている。
WEBのソース的にみると
(1)の状態
<TD bgcolor="#cccccc">
<INPUT type="image" name="s_otherto" alt="選択" src="/image/s_choice.gif" border="0">
</TD>
(2)別の画面で値を選択
(3)の状態
<TD bgcolor="#cccccc">
<INPUT type="image" name="s_otherto" alt="選択" src="/image/s_choice.gif" border="0">
<INPUT type="hidden" name="otherto" value="(2)で選択したID"><FONT size="2">(2)で選択した個人名</FONT>
</TD>
やりたいことは、今は、手で、(1)~(3)を実行しているのですが、
VBAでどのようにしたら、自動で
(1)の状態から(3)の(<INPUT type="hidden" name="otherto" value="(2)で選択したID"><FONT size="2">(2)で選択した個人名</FONT>)が追加された状態にするにはどのようにしたらよいのでしょうか?
typeがtextの場合は、
objIE.Document.getElementsByName("memo")(0).Value = "文章"
で入れれることがわかったのですが、
objIE.Document.getElementsByName("otherto")(0).Value するとエラーが出ます。。。
お手数ですがよろしくお願いします。
No.2ベストアンサー
- 回答日時:
objIE.Document.getElementsByName("otherto")
↑これはオブジェクトです。
(1)の時まだありません。
(2)の処理を施し
(3)で初めて現れるオブジェクトです。
※Value参照で落ちているのではない
※objIE.Document.getElementsByName("otherto")(0)という配列が存在していないのに、0番目を参照しているから落ちている
という事を理解しましょう
オブジェクト参照は、こまめに変数にセットしてあげると、どこで落ちているかがわかりやすくなりますよ。
「otherto」などを作成して、TDに追加してあげないといけません。
Dim l_htmDoc As Object
Set l_htmDoc = objIE.Document
Dim l_objImg As Object
Dim l_tblTD As Object
'イメージを取得
Set l_objImg = l_htmDoc.getElementsByName("s_otherto")(0)
'イメージの親のTDを取得
Set l_tblTD = l_objImg.parentNode
'TDにHIDDENを追加
Dim l_htmHdn As Object
Set l_htmHdn = l_htmDoc.createElement("input")
With l_htmHdn
.Type = "hidden"
.Name = "otherto"
.Value = "(2)で選択したID"
End With
Call l_tblTD.appendChild(l_htmHdn)
'TDにFONTを追加
Dim l_htmFont As Object
Set l_htmFont = l_htmDoc.createElement("font")
With l_htmFont
.Size = "2"
.innerText = "(2)で選択した個人名"
End With
Call l_tblTD.appendChild(l_htmFont)
No.1
- 回答日時:
要するにサブウィンドウの設定値を
開いた親ウィンドウの隠し項目に反映するすればいいのですね。
ちなみに質問内容に<FORM></FORM>タグが無いですけど???
サブウィンドウの選択画像ボタンが押下された時に
下記処理をする。
window.opener.document.FORM名.otherto.value="選択ID";
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教える店舗&オフィスのセキュリティ対策術
中・小規模の店舗やオフィスのセキュリティセキュリティ対策について、プロにどう対策すべきか 何を注意すべきかを教えていただきました!
-
VBAでの SendKeysの変数指定方法
Excel(エクセル)
-
VBA IE ダウンロード ダイアログ制御(名前を付けて保存)
Visual Basic(VBA)
-
Selenium/VBA/Chrome エラーで起動しない
Visual Basic(VBA)
-
4
VBAでSeleniumからChromeを起動後、VBAが終了するとChromeが閉じてしまう
Visual Basic(VBA)
-
5
hiddenのvalueの値を変えたい
JavaScript
-
6
VBAでJavaScriptを動かす方法
PowerPoint(パワーポイント)
-
7
VBA(エクセル)で自動的にボタンをクリックさせるには
その他(プログラミング・Web制作)
-
8
vbaでIEの名前を付けて保存(A)をしたい
Microsoft ASP
-
9
Webページ中の javascript をVBAから実行するには
Visual Basic(VBA)
-
10
VBAでIEのボタンを押してメッセージ応答したい
Excel(エクセル)
-
11
Excel VBA seleniumのedge操作について 業務上、分からないことがございまして、先
その他(ブラウザ)
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
人気Q&Aランキング
-
4
VBA(自然数)
-
5
値を返さないコード パス
-
6
C#の質問です
-
7
WebRequestでJavascriptの値取得
-
8
マクロ 特定のセル値のみクリ...
-
9
VBでBtrieveファイルにアクセス...
-
10
【ASP.NET】 DataTextFieldの値...
-
11
VB.netでRGB関数を使うには
-
12
C# get set
-
13
VB6のデータを保持したい
-
14
VB.NETでアクティブなformを知...
-
15
VB.NET 配列の格納
-
16
DateLastModifiedのフォーマット
-
17
PysimpleGUIでデータベースを作る
-
18
不定値の出力について
-
19
C#でのDateTimeAddDaysの挙動
-
20
OracleでRecordCountが正しくな...
おすすめ情報
公式facebook
公式twitter