プロが教えるわが家の防犯対策術!

ie.Document.getElementById("menu_2").Click

で、オブジェクトが必要ですというエラー”424”が発生します
やってることはIE操作でウェブページのメニューをクリックするという内容です
いかに全コードを記載します

Sub ********()

Set ie = CreateObject("InternetExplorer.Application") 'IE起動
ie.Visible = True
ie.Navigate "************" '開きたいサイトのURLを指定
 Call IEWait(ie) 'IE待機



ie.Document.getElementsByname("${loginForm.loginId}")(0).Value = "**********"
ie.Document.getElementsByname("${loginForm.password}")(0).Value = "*********"
ie.Document.getElementsByname("Image7")(0).Click
Call IEWait(ie) 'IE待機
ie.Document.getElementsByname("Image1")(0).Click
Call IEWait(ie) 'IE待機
ie.Document.getElementById("menu_2").Click
Call IEWait(ie) 'IE待機
End Sub

自分としてはie.Document.getElementsByname("Image7")(0).Clickでエラーが出ないのに
getElementByIdではオブジェクトが必要と言われidで取得なのかnameで取得なのかしか、かわらないのにオブジェクトが必要です、となる意味がわからないです。

どなたかご教授お願いします。

A 回答 (2件)

ie.Document.getElementsByname("Image1")(0).Click


のコードで、新しいウィンドウやタブが開いたら、
それをieオブジェクトにセットする必用があるのでは


Dim objShell As Object
Set objShell = CreateObject("Shell.Application")

  ・ 
  ・ 
>ie.Document.getElementsByname("Image1")(0).Click
>Call IEWait(ie) 'IE待機
'最後に開いたウェブページorエクスプローラをieにセットする
Set ie = objShell.Windows(objShell.Windows.Count - 1)
>ie.Document.getElementById("menu_2").Click
    • good
    • 2

お示しのコードを単純に読むと、取得しようとするサイトに、<tag id="menu_2" ...> はありますか?



ご参考okwave
http://oshiete.goo.ne.jp/qa/5290507.html

この回答への補足

クリックしたいのが<a title="新規物件登録" class="menu_btn" id="menu_2" href="MNU1R0001_f.action?id=1377259258189" target"_parent"/> となっています。

id="menu_2"は存在しています

どうしたらいいですか?

補足日時:2013/08/23 21:10
    • good
    • 0

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