|
NMCのメッセージ(#5)への返事 アドバイスありがとうございます。 教えていただいたコードを追加したところ、うまくいくようになりました。 ”ログインボタンによるページ移動”だけでなく、他の”URLリンクによるページ移動”も同様に正常に行くようになりました。 ページ移動の時間待ちの問題かなっと思いステップ実行で移動後のページが表示されてから、エレメントを読んでみても移動後のエレメントがget出来なかったので困っていましたが、”見えているもの=最新ウインド”ではないということなのでしょうか? 本当にありがとうございました。大変助かりました。 > プログラムをよく見ると私の指摘は全くピント外れでした。 > buttonクリックなのですね。 > そうであれば、クリック後の最新ウインドを取得する以下ではどうですか。 > > 'ここまで略 > 'ログインボタンを選択、管理一覧ページへ移動 > Call tagClick(objIE, "button", "ログイン") > 'ここでobjIEを喪失していると想像 > Sleep 2000 '十分な待機時間(例えば2秒)を確保(APIのSleep関数) > Set objIE = 最新画面 '最新のオブジェクトを取得する > If objIE Is Nothing Then MsgBox "異常発生": Exit Sub '念のため > Call ieCheck(objIE) '念のため > For Each objLink In objIE.document.Links > '以下略 > > Function 最新画面() As Object > Dim objShell As Object, n As Long > Set objShell = CreateObject("Shell.Application") > For n = objShell.Windows.Count To 1 Step -1 '最新のウインドから探す > If TypeName(objShell.Windows(n - 1).document) = "HTMLDocument" Then > Set 最新画面 = objShell.Windows(n - 1) '最新のHTMLDocumentを取得 > Exit For > End If > Next n > 'Debug.Print 最新画面.document.Title > Set objShell = Nothing > End Function |
↑エクセルVBAのIE(InternetExplorer)操作で分からない事があればこちらの掲示板よりご質問ください^^
ExcelのVBA初心者入門↑こちらはExcelのVBAをマスターできるよう初心者向けのエクセルVBA入門コンテンツになります^^
こちらでは、エクセルVBAで実際に作成したIE(InternetExplorer)制御ツールをまとめています。自動ログインや情報収集など具体的に解説しています。IE(InternetExplorer)制御をされる方は参考にしてください。
こちらでは、これまでに紹介したIE(InternetExplorer)操作で便利な機能をツール化しています。無償でダウンロードできますので、目的に合わせたご利用ください。
こちらでは、IE(InternetExplorer)オブジェクトのメソッド・プロパティをまとめています。
こちらでは、エクセルVBAのIE(InternetExplorer)操作で利用されたVBA関数をまとめています。
こちらでは、エクセルVBAのIE(InternetExplorer)操作で利用されたステートメントをまとめています。ExcelのVBAで基本的な部分になりますので、しっかり理解しましょう。
こちらでは、これまでに作成したIE(InternetExplorer)操作で役立つサブルーチンをまとめています。
全てをコピーする必要はありませんが、目的に合わせたサブルーチンをご利用ください。
こちらでは、IE(InternetExplorer)制御の利用だけでなく、Excel全般で利用できるVBAコードです。エクセルVBAで役に立つものばかりですので、ご利用ください。