Wie kann ich mit VBA sagen, dass das Programm kurz warten soll, bevor es einen Befehl ausführt?

4 Antworten

Man kann in VBA eigene "Event" erstellen, die dann auch zeitgesteuert aktiv werden.
Google: "VBA Timer Event erstellen"

Sleep ms

ms Millisekunden von 50 bis 65500

mynameisnotreal 
Fragesteller
 07.01.2022, 11:13

Sleep geht leider nur in einer Funktion :(

0
iqKleinerDrache  07.01.2022, 11:24
@mynameisnotreal

irgendjemand hat sowas seltsames gepostet:

Sub ccSleep(seconds)

    cmd = "%COMSPEC% /c ping -n " & 1 + seconds & " 127.0.0.1>nul"

    objShell.Run cmd,0,1

End Sub

also das soll dann deine neue Sleep-Funktion sein

ccSleep 1 wäre 1 Sekunde Pause. Es wird 1 Sekunde ein Ping auf sich selbst gemacht ... lol. Statt des objShell.Run musst du natürlich das Run von VBS einsetzen.

0

Application.Wait ("00:00:01") sollte dein Problem lösen.

Woher ich das weiß:Berufserfahrung – IT-Consultant

Ich würde das - wenn es eine "richtige" Programmiersprache wäre - über einen Timer lösen. Den Programmfluss durch ein "Wait" zu blockieren ist nur in seltenen Fällen eine gute Idee.

mynameisnotreal 
Fragesteller
 07.01.2022, 11:14

Ist ihnen bekannt, wie ich einen solchen Timer in VBA erstelle?

0