電子書籍の厳選無料作品が豊富!

次に挙げるようなHTMLがあります。

<form id="form" onsubmit="return checkDoubleSend();" action="/app/ord_jp_mgn_new.do;BV_SessionID=3DkhRFvB5lvTDRRhpK1H!1855743830?gmn=J&smn=05&lmn=02&fmn=01" method="post" name="OrdJpMgnNewForm">

中略

<input type="text" onblur="valueDelComma(this.value, this);" value="" size="12" maxlength="8" name="orderValue" style=""></input>

この<input>において、次に挙げるVBAで入力を試みました。
objIE.Document.forms("form")("orderValue").Value = Cells(Row, 5)

そうしたところ、「438 オブジェクトは、そのプロパティまたはメソッドをサポートしてません。」のダイアログが出ました。

素人考えでは「onblur=」が悪さをしているのではないかと思うのですが、このような<input>にVBAから値を代入するのにはどのようにすればよいのでしょうか。

A 回答 (1件)

言語や詳しい環境等やバージョンを書くようにして下さい。


下記では、どうでしょうか?
だめなら、該当の URL を教えて下さい。こちらで試してみます。
objIE.Document.All.tags("input").Item("orderValue").Value = Cells(Row, 5)

この回答への補足

ご教示いただきましてありがとうございます。
残念ですが、ご教示いただいた方法では問題を解決するに至りませんでした。以前と同じエラーが発生します。

私の環境を記述せずに申し訳ありませんでした。私の環境は次に挙げる通りです。

+ OS Windows 7 64bit Home Premium SP1
+ 言語環境 Microsoft Excel 2007 SP3
+ Web ブラウザ IE9 (ブラウザモード及びドキュメントモード共に)
+ 問題となるWebページ 楽天証券内の国内株式売「数量」項目ですので、ユーザ登録が無いとアクセスしていただけないかもしれません。sessionを除いたURLは次に挙げる通りです。
https://member.rakuten-sec.co.jp/app/ord_jp_mgn_ …
+ ちなみに、別の<input>タグの項には入力(代入?)することが出来ました。

また「素人考えの」「onblur=」はこの問題に関係無いようでした。

以上、よろしくお願いいたします。また、代案でなくとも、ポインタで構いませんんで、情報を頂戴できれば幸甚に存じ上げます。

補足日時:2013/01/30 15:23
    • good
    • 0
この回答へのお礼

ご教示をいただきましてありがとうございました。
この件はわたしの実力で手に負えないと考えて、次に挙げる通りの力技で解決としました。(納得いかないですが)

For Each objtag In objIE.Document.getElementsByTagName("input")
If InStr(objtag.outerHTML, "orderValue") > 0 Then
objtag.Value = Cells(Row, 5)
Exit For
End If
Next

重ねて、ありがとうございました。

お礼日時:2013/01/31 10:36

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!