Frage : Readystate in IE im VBA Programm

Lieber Experte,

Lots Leute verwendet folgenden VBA Code, um das wbesite in IE zu steuern, und ich fand etwas instabile Ausgabe oder error
in, den Mittel manchmal es Arbeits-O.K. aber manchmal, ich nicht bearbeitet, habe benutzt „Debug.print“ das to
check, in dem Störung, gefunden ist an Code-line-11, .document.all mein Code („LOGON“) .click habe Ausgabe mit Readystate
we Gebrauch .navigate, die Web site im ersten Mal zu ergreifen, sind Readystate und beschäftigter Zustand von IE gute Markierungsfahne zu bereitem und beschäftigtem see
the IE oder nicht. So ist checkreadystate Funktion okay, damit erstes Mal IE erforscht. Aber, wenn ich .doucment.all („LOGON“) .click verwende, um andere siteseite an zweiter Stelle zu ändern, scheint sie, dass Readystate und Checkreadystate Funktion desn't Hilfe viel für Warte-/Monitor„LOGON“ Seite bereit und oder nicht beschäftigt ist. Ich schätze, dass ist, weil Readystate bereits bis zum erstem Mal nagviate „ http://example.com “ wenn erfolgreich an (code-line-7) eingestellt wird und der Benutzer könnte den Zustand von REadystate ausgenommen nicht ändern verließ die IIE Fenster. So versuche füge ich, gesetztes code-line-13 zu setzen und Schlaf (3000) für 3 Sekunden hinzu, verzögere, die VBA Codearbeiten fein. Und einmal setzten wir auch zurück code-line-6 bilden es. Sichtbare IE-Fenster, funktioniert es auch aber nicht alle Male. Es scheint, dass die Ausgabe und die Störung nicht an allen beständig ist, die mit dem Timming des Ladens der „LOGON-“ Seite zusammenhängen konnten. Gibt es jede mögliche Methode, zum, wann das zweite mal vom Laden zu überprüfen Seite bereit und oder nicht beschäftigt ist, aber, erinnert zu werden ihm Malladenseite nach nagviate die erste Ladezeit des ersten Seite

I Mittels Seite ist, z.B. erstes Mal, IE-Forscher und seoncd Zeitladen page
means zu steuern, das Sie auf der ersten Seite gründen müssen, bereit ist, um auf die zweite Web site zurückzugreifen, gerade Ähnliches to
when Sie Ihre Bank website.

I möchten nicht Funktion des Schlafes (3000) verwenden anmelden und. Sichtbar, zweite Ladenseite ist zu lassen zuerst bevor wir are
running unser Rest unseres Programmcodes bereit. What ist der Vorschlag, zum dieser Ausgabe zu lösen? Wenn Sie meine Ausgabe verstehen, mich bitte informieren. Ich erkläre mehr.  Bitte advise

Br
Duncan

1-Dim myIE, wie SHDocVw.InternetExplorer „Notwendigkeits-Microsoft-Internet Bezugsselected
2-Set myIE = Nothing
3-Set myIE = CreateObject steuert („InternetExplorer. Application“)
4-Set myIE = neues InternetExplorer
5-With myIE
6 -“. Sichtbar = True
7- .navigate „ https:example.com "
8-Call CheckREadyState (myIE, 1)
9- .doucment.all („username“) = " ABC "
10-.doucment.all („password")= " 33443 "
11-.doucment.all (LOGON) .click
12-Call CheckREadyState (myIE, 1)
13- 'Schlaf (3000)

Function CheckReadystate (ByRef myIE als Gegenstand, state1 als ganze Zahl)
With myIE
tun bis nicht. Beschäftigt und .readyState = READYSTATE_COMPLETE
Debug.Print state1
Debug.Print. Busy
Debug.Print .readyState
DoEvents
Loop
Ende With
End Function

Antwort : Readystate in IE im VBA Programm

Whoops. Geänderter Code, zum von decleration (MyIE) zu reflektieren
1:
2:
3:
4:
'Wartezeit, damit die Seite lädt.
  Tun während myIE.Busy oder myIE.ReadyState <> 4
    DoEvents
  Schleife
Weitere Lösungen  
 
programming4us programming4us