excel warten, bis die Webseite zu öffnen

Ich geschrieben habe einige VBA-Skript zum laden einer Webseite kopieren Sie den gesamten html-Inhalt in eine Zeichenfolge, und wählen Sie dann bestimmte Daten aus dieser Zeichenfolge. Im Grunde Suche ich für eine Bahn-Fahrplan, dann kopieren details für 5 Fahrten (Abfahrt, vertauscht, Reise-Zeit & Kosten)

Ich habe das obige Skript sortiert, eine Suche, aber ich möchte nun eine Schleife und fahren etwa 300 sucht. Das Problem, das ich gefunden habe ist, dass das Skript nicht warten, für die Webseite zu öffnen, und daher ist die zurückgegebene Zeichenfolge leer ist, effektiv, Rücksendung nichts.

Was ich tun müssen, ist, laden Sie eine Adresse ein, warten Sie, bis die Seite zu laden, dann weiter in das Skript. Haben Sie irgendwelche Vorschläge? Ich habe gesucht, viel und einfach nicht in der Lage zu Sortieren, habe ich versucht Application.Wait in einer Reihe von Orten und immer noch kein Stück weiter.

Den code, den ich verwende, ist unter:

Sub CreateIE()
Dim tOLEobject As OLEobject
Dim NRADDRESS As String
NRADDRESS = Range("h11")
On Error Resume Next
Worksheets("Sheet1").Shapes.Range(Array("WebBrow")).Delete
Set tOLEobject = Worksheets("Sheet1").OLEObjects.Add(ClassType:="Shell.Explorer.2",Link:=False, _
DisplayAsIcon:=False, Left:=0, Top:=15, Width:=912, Height:=345)

For Each tOLEobject In Worksheets("Sheet1").OLEObjects
If tOLEobject.Name = "WebBrowser1" Then
With tOLEobject
.Left = 570
.Top = 1
.Width = 510
.Height = 400
.Name = "WebBrow"
End With


With tOLEobject.Object
.Silent = True
.MenuBar = False
.AddressBar = False
.Navigate NRADDRESS
End With
End If
Next tOLEobject

Sheets("Sheet2").Activate
Sheets("Sheet1").Activate

Call ReturnText
End Sub

NRADDRESS ist eine web-Adresse aus einer Reihe von verschiedenen Parametern (origin, destination, Datum und Zeit)

Den "Call ReturnText" ist das Skript, das ich verwenden, kopieren Sie die website-HTML-Code in einem string extrahieren und was ich will.

möglich, Duplikat der VBA: Inkonsistente Fehler 91 in der Schleife, w/ IE.doc Verweis
Bitte versuchen Sie die Lösung oben verlinkten verwenden Sie die bereit-warten-Schleife in Verbindung mit der WinAPI Sleep Funktion. Sie sollten auch loszuwerden On Error Resume Next diese Aussage allein wird Ihr code schwer zu Debuggen, da Fehler führen tendenziell zu mehr Fehlern...

InformationsquelleAutor user3533028 | 2014-05-13

Schreibe einen Kommentar