Das Problem ist das die Schnittstelle zum IE dir nicht erlaubt zwischen unterschiedlichen Tabs oder Fenstern zu unterscheiden bzw. auf deren Zustand zu reagieren. Man muss sich an der Stelle dann per Workaround helfen (z.B. mit dem Shell-Objekt).
Die finale Frage ist: Benötigst du eigentlich nur den Inhalt der Seite(n), oder brauchst du die Seite zum Anzeigen für den Benutzer, damit dieser anschl. darauf was machen kann/soll?
Wenn du nur die Information(en) brauchst, dann würde ich es lieber so machen:
' benötigt Verweise (Extras -> 'Verweise...') auf:
' * Microsoft Internet Controls
' * Mircrosoft HTML Object Library
'
Option Explicit
Public Sub Test()
Dim webb As SHDocVw.InternetExplorer
Dim htmlGoogle As MSHTML.HTMLDocument
Dim htmlBing As MSHTML.HTMLDocument
Set webb = New InternetExplorer
webb.Visible = True
webb.Navigate2 "www.google.de", TargetFramename:="_self"
While webb.ReadyState <> READYSTATE_COMPLETE: Wend
Set htmlGoogle = webb.Document
webb.Navigate2 "www.bing.de", TargetFramename:="_self"
While webb.ReadyState <> READYSTATE_COMPLETE: Wend
Set htmlBing = webb.Document
'...
Call webb.Quit
Set webb = Nothing
End Sub
Diesen Ablauf kann man auch noch allgemeiner kappseln - soll hier aber nicht das Thema sein.
Es gibt auch noch die Möglichkeit ohne dem IE an solch ein HTMLDocument-Objekt zu gelangen und läuft zudem auch schneller (da der IE-Overhead nicht vorhanden ist). Das hier zu diskutieren fällt allerdings aus dem Rahmen (kostenlos würde ich das auch nicht weiter erläutern).
Gruß
|