Excel VBAにて以下のコードでaタグをクリックしたいのですが、作動しません。
ステップインではFor~Nextのところで何度かループをして作動しますが、実行をクリックすると作動しなくなります。
実際のサイトは社内サイトのため控えさせていただきます。
原因がわかる方がいらっしゃいましたら、ご教授下さいませ。
宜しくお願い致します。
Sub 来店予約()
Dim objIE As InternetExplorer Set objIE = New InternetExplorer objIE.Visible = True objIE.navigate "社内サイトURL" '管理画面ページのURLを指定 Call WaitIE(objIE) Dim htmlDoc As HTMLDocument Set htmlDoc = objIE.document htmlDoc.getElementById("btnLogin").Click Call WaitIE(objIE) htmlDoc.getElementById("focus").Value = "" 'ユーザー名を指定 objIE.document.getElementsByName("lpw")(0).Value = "" htmlDoc.getElementById("btnLogin").Click Set htmlDoc = Nothing 'ログインページのHTMLをいったん破棄 Call WaitIE(objIE) '画面遷移の待機 Set htmlDoc = objIE.document 'ログイン後のページのHTMLを読み込む '変数を定義
Dim ieDoc As HTMLDocument
Dim obj As Object
'HTML型ドキュメントに収録する
Set ieDoc = objIE.document
For Each obj In ieDoc.getElementsByTagName("a")
If obj.innerText = "予約者情報検索" Then
obj.Click
Exit For
End If
Next
'該当のWebサイトが表示されるのを待つ
While objIE.Busy Or objIE.readyState <> READYSTATE_COMPLETE
DoEvents
Wend
'オブジェクト参照を解除
Set ieDoc = Nothing
Set objIE = Nothing
End Sub
Sub WaitIE(objIE As InternetExplorer)
Do While objIE.Busy = True Or objIE.readyState < 4 '読み込み待ち '4=READYSTATE_COMPLETE DoEvents Loop
End Sub
回答1件
あなたの回答
tips
プレビュー