表示上ページが移動しているにも関わらず、移動後のページエレメントが読めない 削除


Message#4 2017年6月1日(木)09時37分
From: 初心者
NMC様
早々にアドバイスいただき、ありがとうございます。
早速、ログインボタンを選択、管理一覧ページへ移動の前に、Call Link修正(objIE)を追加して実行してみましたが、結果は同じでした。

実は、ログインのところで以下の様に Call ieViewを入れログイン移動後のページを再度
表示させる文を入れると、同じページがもう1個開きますが何故か動作します。
'ログインボタンを選択、管理一覧ページへ移動
Call tagClick(objIE, "button", "ログイン")
Call ieView(objIE, "情報管理ページURL")

また、ログインボタンによるページ移動だけでなく、URLリンクによるページ移動も同様に
Call ieView(objIE, "移動後のページURL")を追加しないと移動前のエレメントを読んでいる様で正常に動作しません。Call ieView(objIE, "移動後のページURL")を追加すると何故か動作しているようです。
この状況が解決の糸口になりませんでしょうか?
引続き、よろしくアドバイスお願いいたします。


NMCのメッセージ(#3)への返事

> 初心者のメッセージ(#1)への返事
> HTMLの<A>タグには、target属性があり、target="_blank"では別画面になるので、objIEがクリック後の別画面を取得できないのではないでしょうか。
> http://www.htmq.com/html/a.shtml
>
> そのような場合に備えて、私は、クリック前に、target="_blank"の全てを、Target = "_top"かTarget = "_self"に書き換えています。
>
> Call Link修正(objIE)'★
> 'ログインボタンを選択、管理一覧ページへ移動
> Call tagClick(objIE, "button", "ログイン")
>
> ★追加では駄目ですか?
>
> Function Link修正(ByRef objIE As Object)
> Dim objDoc As Object, i As Long, k As Long
> Set objDoc = objIE.Document
> For i = 0 To objDoc.Links.Length - 1
> 'Debug.Print i & "---" & objDoc.Links(i).href 'Target
> If objDoc.Links(i).Target = "_blank" Then
> objDoc.Links(i).Target = "_top" '"_self"
> k = k + 1
> End If
> Next i
> Debug.Print k & "箇所のリンクを修正"
> End Function

上のメッセージを削除します。
よければパスワードを入力し、削除ボタンをクリックしてください。

パスワード:

VBAのIE制御についてのQ&A掲示板

↑エクセルVBAのIE(InternetExplorer)操作で分からない事があればこちらの掲示板よりご質問ください^^

ExcelのVBA初心者入門

↑こちらはExcelのVBAをマスターできるよう初心者向けのエクセルVBA入門コンテンツになります^^

VBAのIE制御入門RSS

RSSフィードを登録すると最新記事を受け取ることができます。

VBAIE操作のスカイプレッスン

VBAでIE(InternetExplorer)制御の準備

エクセルVBAでIE制御の応用編

こちらでは、エクセルVBAで実際に作成したIE(InternetExplorer)制御ツールをまとめています。自動ログインや情報収集など具体的に解説しています。IE(InternetExplorer)制御をされる方は参考にしてください。

【ダウンロード】IE操作に便利なツール

こちらでは、これまでに紹介したIE(InternetExplorer)操作で便利な機能をツール化しています。無償でダウンロードできますので、目的に合わせたご利用ください。

IEオブジェクトのメソッド・プロパティ

こちらでは、IE(InternetExplorer)オブジェクトのメソッド・プロパティをまとめています。

IE操作に利用されているVBA関数

こちらでは、エクセルVBAのIE(InternetExplorer)操作で利用されたVBA関数をまとめています。

IE操作に利用されているステートメント

こちらでは、エクセルVBAのIE(InternetExplorer)操作で利用されたステートメントをまとめています。ExcelのVBAで基本的な部分になりますので、しっかり理解しましょう。

IE(InternetExplorer)制御のVBAコード

こちらでは、これまでに作成したIE(InternetExplorer)操作で役立つサブルーチンをまとめています。
全てをコピーする必要はありませんが、目的に合わせたサブルーチンをご利用ください。

ExcelのVBAで作成した役立つVBAコード

こちらでは、IE(InternetExplorer)制御の利用だけでなく、Excel全般で利用できるVBAコードです。エクセルVBAで役に立つものばかりですので、ご利用ください。

dmb.cgi Ver. 1.068
Copyright(C) 1997-2014, hidekik.com