• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:二つ目のタブの情報をウォッチウインドウで確認するこ)

二つ目のタブの情報をウォッチウインドウで確認できない理由とは?

このQ&Aのポイント
  • 一つのウインドウで二つのタブを開いたとき、二つ目のタブの情報をウォッチウインドウで確認することはできないのですか?
  • objIEをウォッチウインドウで見た時に、Set objIE = Nothingで処理を中断しても、Navigate2で開いたhttp://www.google.co.jp/の情報はobjIEに格納されていないようです。
  • ウォッチウインドウを見てもhttp://www.yahoo.co.jp/の情報しか見当たりません。

質問者が選んだベストアンサー

  • ベストアンサー
  • DOUGLAS_
  • ベストアンサー率74% (397/534)
回答No.1

 「objIE」には、InternetExplorer.Application を起動し、最後に Navigate(2) したWEBページの情報が格納されます。  しかし、お示しのコードでは、「2048」という引数で、「二つ目のタブ」で「google」を開いていますので、この場合は、ストレートに「objIE」で情報を把握することはできません。  VBAで InternetExplorer.Application を起動し、2つ以上のタブまたはウィンドウを開いたときには、常套手段として、 ●目的のタブまたはウィンドウを開いたときの Shell.Application の  ウィンドウの数からターゲットを絞る か、もしくは、 ●Shell.Application.Windows を For Each ~ Next で、回して、  LocationURL などからターゲットを絞る かのいずれかになります。 Sub Sample2()   Dim objshell As Object   Dim objIE As New InternetExplorer   Dim objIE2 As Object   Set objshell = CreateObject("Shell.Application")   With objIE     .Visible = True     .Navigate "http://www.yahoo.co.jp/"     .Navigate2 "http://www.google.co.jp/", 2048   End With   Application.Wait (Now + TimeValue("0:00:3"))   Set objIE2 = objshell.Windows(objshell.Windows.Count - 1)   MsgBox objIE2.LocationURL   Set objIE = Nothing   Set objshell = Nothing   Set objIE2 = Nothing End Sub

参考URL:
http://okwave.jp/qa/q7830049.html
AIJBPGWYWU5
質問者

お礼

Shell.Application を使うことにします。とてもわかりやすい説明ありがとうございます。