アプリ版:「スタンプのみでお礼する」機能のリリースについて

FormのInputBoxに値をセットしようとすると実行時エラー438(VB6.0)になります。
何か考慮漏れがある為かと思います。初心者です。ご教示よろしくお願いします。

----------------------------------------------------------------------
環境(VB6.0 Excel2002 Windows7 IE10.0)

◇エラー状況
  「objIE.Document.all.oil.Value = "20"」を実行すると、エラーする。 
   「実行時エラー438 オブジェクトは、このプロパティまたはメソッドをサポートしていません」
  この記述で、1度だけ値をセットできたが、なぜうまくいったのかわかりません。
 
◇親の画面(http://premium-club.jp/mygarage/mycarbox/KyuuyuR …)で
 「給油を記録する」ボタンを押すと、元の画面がかすかに見える状態で、
  入力画面(フォーム)が表示される。
  データ入力を実行
   objIE.Document.all.oil.Value = "20"   '⇒ Error 438
   objIE.Document.form1.oil.Value = "20"  '⇒ Error 438
  
◇親画面のボタンはマクロで操作(クリック)できるので、
  objIEは生きているようですが、なぜか、Error 438になります。
   Set objIE = CreateObject("InternetExplorer.Application") 'IEを開く
  Object busyが気になり、ステップイン(pf8)で1行ずつ実行してみたが同じでした。

◇HTMLコードは、IEの「F12開発ツール」で調べました。
  <form name="form1" action="KyuuyuRecord" method="post"> '
   <TH>給油量<IMG alt=必須 src="/images/ico_hissu01.gif"
   <TD><INPUT name=oil>リットル

------------------------------------------------------------------------

A 回答 (1件)

objIE.Document.all.oil



これだと、idによる検索なので見つかりません。

nameで検索するには

objIE.Document.all.getElementsByName("oil")

この回答への補足

<現状追加 2013/11/27> 
"input"タグの取得をトライしました。結果はゼロ件、以下のとおりでした。
これは関係しているのでしょうか?
 ? objIE.Fullname
   ⇒ C:\Program Files (x86)\Internet Explorer\IEXPLORE.EXE
 Set objTag = objIE.Document.getElementsByTagName("input")
 ? objTag.Length
   ⇒  0

補足日時:2013/11/27 14:11
    • good
    • 0
この回答へのお礼

todo36さん、早速のご回答ありがとう、ございました。

objIE.Document.all.getElementsByName("oil") = 20 と、修正して実行してみたのですが、Error438で状況は変わりませんでした。
確かにIDではなくnameでした。今後は意識して記述するようにします。

<html記述 (IE開発者ツール)> 
 <td><input name="oil" type="text"
size="20" value="">リットル<span class="blue01 ml10">※小数点第2位まで入力可</span></td>
<URL名>
 Debug.Print objIE.LocationURL
  ⇒ http://premium-club.jp/mygarage/mycarbox/KyuuyuR …

追記)
objIE.Document.all.oil.Value = 20(nameで指定)で一度、動いたのでこの記述を使ったつもりでしたが、自信はありません。
何か環境を変えるようなことをやってしまったのでは?

お礼日時:2013/11/27 12:19

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