質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Q&A

解決済

1回答

10307閲覧

「IE」ページ遷移と、未だに解らないオブジェクトの取得と解放

naow9y

総合スコア13

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

0グッド

0クリップ

投稿2015/04/25 02:41

編集2015/04/25 04:02

前回の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文が入っていないせいでしょうか。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

失礼しました。自己解決しました。オブジェクトの変更も必要なくIF文が入る事によって、FOR文内のMsgBoxがとまる事が確認出来ました。

投稿2015/04/25 05:19

naow9y

総合スコア13

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問