前回の2つの質問で、
「DOMのコントロール(エレメント操作)について」
ですが、Aタグを検索後に別ページに飛んでから別オブジェクトを作成して
同じように操作を出来るように書いているのですが、
'オブジェクト名に2を付けて、Aタグを操作
でAタグを全く取得できません。なぜでしょうか
Private Sub CommandButton3_Click()
Dim ie As InternetExplorer
Set ie = CreateObject("InternetExplorer.Application") ie.Visible = True ie.Navigate "http://www.xxx.jp/a/auth" Do While ie.Busy Or ie.ReadyState < READYSTATE_COMPLETE DoEvents Loop ie.document.all("login_id").Value = Range("C8") ie.document.all("password").Value = Range("C9") ie.document.forms(0).submit Application.Wait (Now + TimeValue("00:00:05")) 'ログイン後のページの中から、Aタグを見つけてクリック Set objShell = CreateObject("Shell.Application") Set ie2 = objShell.Windows(objShell.Windows.Count - 1) Dim objA As Object 'Aタグ格納用 For Each objA In ie2.document.all.tags("A") 'Aのタグを.allから抜く MsgBox "Aタグテキスト名:" & objA.innerText '確認できたら消す If objA.innerText = "お知らせ" Then '.InnerTEXT値(リンクの名称) で判断する objA.Click '見つけたButtonオブジェクト(ボタン)を.Clickクリックする Exit For '用が済んだので(見つかったので)ループを抜ける End If Next Set objA = Nothing 'オブジェクト変数解放 Application.Wait (Now + TimeValue("00:00:10")) 'クリック後のページ移動後の為の新しいオブジェクト Set objShell2 = CreateObject("Shell.Application") Set ie3 = objShell2.Windows(objShell2.Windows.Count - 1)
'オブジェクト名に2を付けて、Aタグを操作
Dim objA2 As Object 'Aタグ格納用
For Each objA2 In ie3.document.all.tags("A") 'Aのタグを.allから抜く
MsgBox "Aタグテキスト名:" & objA2.innerText 'コメントの通り出来てるか確認
Exit For 'ループを抜ける
Next
Set objA2 = Nothing 'オブジェクト変数解放 'submitボタンをクリック 'objForm.submit
End Sub
単に、前のオブジェクトをそのまま流用して、確認の表示がされないのはIF文が入っていないせいでしょうか。

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。