• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:objIE.Document.all.tags(")

クリックできないエラーの理由と解決方法

このQ&Aのポイント
  • 質問者は、objIE.Document.all.tagsで要素を取得しようとしていますが、myObj.altプロパティを使用するとエラーが発生します。
  • このエラーの理由は、要素の操作方法がサポートされていないためです。
  • このエラーを解決するためには、別の方法を使用する必要があります。

質問者が選んだベストアンサー

  • ベストアンサー
  • DOUGLAS_
  • ベストアンサー率74% (397/534)
回答No.3

#2 Douglas_ です。 >myObj.Clickをつかうべきとの事ですね。  ちょっとニュアンスが違うかも知れませんが、そもそも For Each myObj In objIE.Document.all.tags("input") If myObj.alt = "検索する" Then というのは、「objIE」の中で「<input> タグ」を巡回して、その「<input> タグ」の中で [alt 属性] が「"検索する"」になっている場合の処理です。  このとき、巡回する一つひとつの「<input> タグ」を「myObj」という名前のオブジェクト(正確には、Variant/Object/HTMLInputElement)に代入して巡回しておりますが、特に、今回のような場合は、「objIE.Document.all.tags("input").alt("検索する")」=「myObj」な訳ですから、敢えてエラーの出る言い回しをする方がどうかしている訳で、エラーの出る objIE.Document.all.tags("input").alt("検索する").Click というような言い回しをするのではなくて、「myObj」をそのまま使うのが、[For Each...Next ステートメント] の普通の使い方ではないかと存じます。  なお、書き忘れましたが、 myObj.Click した後は、 Exit For で [For Each...Next ステートメント] から抜けてください。 For Each myObj In objIE.Document.all.tags("input")   If myObj.alt = "検索する" Then     myObj.Click     Exit For   End If Next

aaaertaaa
質問者

お礼

回答ありがとうございました。

その他の回答 (2)

  • DOUGLAS_
  • ベストアンサー率74% (397/534)
回答No.2

>これを実行するとクリックできないのですがなぜでしょうか?あ  「なぜですか?」と言われても困ります。 objIE.Document.all.tags("input")(30).alt = "検索する" にはなりますが、 objIE.Document.all.tags("input") に「alt」というプロパティはありません。  せっかく For Each myObj ~~ If myObj.alt = "検索する" Then としているのですから、 objIE.Document.all.tags("input").alt("検索する").Click ではなくて、 myObj.Click ですね。

aaaertaaa
質問者

お礼

困らせてしまってごめんなさい泣 先の回答者さんと同じくmyObj.Clickをつかうべきとの事ですね。

  • teketon
  • ベストアンサー率65% (141/215)
回答No.1

> objIE.Document.all.tags("input").alt("検索する").Click ではなく、 > myObj.Click または > myObj.onClick じゃないですか? clickのプロパティはalt属性ではなく、inputタグが持っていると思います。

aaaertaaa
質問者

お礼

myObj.onclick はできませんでしたが myObj.Clickで出来ました!

関連するQ&A

専門家に質問してみよう