Microsoft Excel

Herbers Excel/VBA-Archiv

Watchdop für VBA

Betrifft: Watchdop für VBA von: peter
Geschrieben am: 11.08.2008 17:39:03

Hallo VBA Cracks,

Im 5 Minuten-Abstand hole ich mir via Webabfrage Daten aus dem Internet. Nun kann es passieren, dass das VBA Programm bei einer Abfrage z.B. mehr als 5 Minuten hängen bleibt, was ungewollt ist.

Kann man ein solches Problem umgehen, wenn man mit VBA einen Watchdog realisiert, der z.B. nach 2 Minuten das laufende VBA Programm abschießt und erneut startet?

Wie schaut der VBA Code dazu aus?

Danke.

Grüße

Peter

  

Betrifft: AW: Watchdop für VBA von: Tino
Geschrieben am: 11.08.2008 18:36:45

Hallo,
wie erfolgt deine Webabfrage, ist da eventuell eine Schleife eingebaut die auf dass Laden der Webseite wartet?
Sollte dies so sein, baue dir einen Timer ein der bei überschreiten dieser 5 Minuten einen Abbruch erzeugt und die Webabfrage erneut startet oder was auch immer du machen möchtest.

Beispiel

Dim t As Date
t = Now + TimeValue("00:05:00")

'In deiner Schleife
If Now > t Then Exit Sub 'bzw. gehe zu Abbruch Code




Gruß Tino


  

Betrifft: AW: Watchdop für VBA von: peter
Geschrieben am: 11.08.2008 19:02:12

Hallo Tino,

Danke für deinen Vorschlag.
Leider funktioniert das obige Programm nicht, da manchmal das VBA Programm beim Befehl der Webabfrage " .Refresh BackgroundQuery:=False " hängen bleibt und nicht in einer Schleife.
Und aus diesem Befehl möchte ich wieder rauskommen.

Danke im Voraus.

Grüße

Peter


  

Betrifft: AW: Watchdop für VBA von: Nepumuk
Geschrieben am: 11.08.2008 19:09:31

Hallo Peter,

das müsstest du aber von außen machen, denn innerhalb der Application wird ja wahrscheinlich nichts mehr laufen, wenn die Abfrage hängt. Wie machst du das zur Zeit, wenn wieder mal soweit ist? Woran kannst du das überhaupt sehen? Und siehst du einen Ansatzpunkt, an dem ein Programm wie auch immer feststellen könnte ob es hängt oder nicht?

Gruß
Nepumuk


  

Betrifft: da bin ich auch überfragt... von: Tino
Geschrieben am: 11.08.2008 19:10:34

Hallo,
..., wie eine solche Funktion abgebrochen werden kann. sorry

Gruß Tino