# VBS-Script soll warten



## Move (4 Juli 2012)

Hallo Leute,

habe mal wieder ein VB-Problem(chen):

Ich öffne per Script eine Excelliste und schreibe die Werte aus einen DB
 in der S7 in diese Excelliste.
Dann wird gespeichert und Excel geschlossen, läuft soweit.
Jetzt müsste ich eine Wartezeit von ca 3-5sec einbauen, bevor
das Script Excel speichert und schließt.
Habe es schon versucht mit

System.Threading.Thread.Sleep(1500)
oder
WScript.Sleep 1000

Das Script bleibt dann aber an dieser Stelle hängen, also
Excel wird nicht gespeichert und geschlossen

Hat jemand ne Idee?

Gruß
Move


----------



## Peda (4 Juli 2012)

Hallo,
unter diesem Beitrag ist das auch schon mal besprochen worden : http://www.sps-forum.de/showthread....pt-realisieren?highlight=Skript+verz%F6gerung
hier wird eine Schleife verwendet zum verzögern des Skriptes-> man muss aber dabei beachten solange ein Skript läuft können keine weitere Skripte ausgeführt werden.

Diese werden zwar in einen Auftragspuffer geschrieben aber das funktioniert auch nicht immer 100%ig, manchmal wird auch schon mal ein skript "vergessen"!!!
Vor allem beim Runtime Start habe ich diese Erfahrungen gemacht deshalb warte ich immer 1 Minute nach Runtime Start bevor ich Skripte ausführe!

MFG Peda


----------



## Thomas_v2.1 (4 Juli 2012)

Ich würde einen Timer mit der entsprechenden Zeit starten, und bei eintreffen des Timer-Events die entsprechende Aktion durchführen.

In der Excel VBA Hilfe dazu einfach nach "Application.OnTime" oder nur "OnTime" suchen, da gibt es Beispielcode zu deiner Excel-Version.
Das etwas unschöne an dem Timer ist, dass er mit einem End-Zeitpunkt und nicht mit einer Zeitdauer arbeitet. Bei umstellen der PC-Uhrzeit könnte das Probleme zur Folge haben die es abzufangen gilt wenn das Programm z.B. selbstständig rund um die Uhr Aktionen ausführen soll.


----------

