Internext explorer about:blank auslesen, schleife bis gelanden
Hallo,
ich habe ein Problem, dass ich Webseiten über VBA laden lasse.Soweit so gut.
Problem, sobald eine Website eine Windows Sicherheit Abfrage verblendet läuft das Problem in einer Schleife und lädt mir die nächste Seite.
Nun möchte ich dieses Fenster im VBA abfangen und in einer internen Schleife laufen lasen bis die Seite von der URL her geladen wurde
Aktuell habe ich mir mit einer msgbox geholfen (sozusagen als Stopper). Nur ist dieses etwas umständlich,
wie kann ich feststellen, ob der IE aktuell eine blank Seite geöffnet hat und solange in einer schleife auf eine Antwort wartet bis diese Bedingung erfüllt.
..
'warten bis geladen
Dim objShell As Object, win As Object
Dim adresse As String, objIE As Object, gefunden As Boolean
gefunden = False
adresse = strinput 'anpassen
Set objShell = CreateObject("Shell.Application")
For Each win In objShell.Windows
If win.LocationURL = "about:blank" Then MsgBox "Bitte PW in IE", vbMsgBoxSetForeground
If InStr(1, UCase(win.FullName), "IEXPLORE") > 0 Then
Sleep 500
'Do
If win.LocationURL = adresse Then
'Debug.Print adresse, win.LocationURL
'Tab schließen
win.Quit
gefunden = True
Exit For
Else
Set objIE = win
End If
End If
Next
...
Grüße aus München
ich habe ein Problem, dass ich Webseiten über VBA laden lasse.Soweit so gut.
Problem, sobald eine Website eine Windows Sicherheit Abfrage verblendet läuft das Problem in einer Schleife und lädt mir die nächste Seite.
Nun möchte ich dieses Fenster im VBA abfangen und in einer internen Schleife laufen lasen bis die Seite von der URL her geladen wurde
Aktuell habe ich mir mit einer msgbox geholfen (sozusagen als Stopper). Nur ist dieses etwas umständlich,
wie kann ich feststellen, ob der IE aktuell eine blank Seite geöffnet hat und solange in einer schleife auf eine Antwort wartet bis diese Bedingung erfüllt.
..
'warten bis geladen
Dim objShell As Object, win As Object
Dim adresse As String, objIE As Object, gefunden As Boolean
gefunden = False
adresse = strinput 'anpassen
Set objShell = CreateObject("Shell.Application")
For Each win In objShell.Windows
If win.LocationURL = "about:blank" Then MsgBox "Bitte PW in IE", vbMsgBoxSetForeground
If InStr(1, UCase(win.FullName), "IEXPLORE") > 0 Then
Sleep 500
'Do
If win.LocationURL = adresse Then
'Debug.Print adresse, win.LocationURL
'Tab schließen
win.Quit
gefunden = True
Exit For
Else
Set objIE = win
End If
End If
Next
...
Grüße aus München
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 320170
Url: https://administrator.de/forum/internext-explorer-about-blank-auslesen-schleife-bis-gelanden-320170.html
Ausgedruckt am: 23.12.2024 um 01:12 Uhr
1 Kommentar
objIE.Navigate "http://domain.de/seite1.html"
while objIE.Busy
sleep 100
wend
objIE.Navigate "http://domain.de/seite2.html"