VBA - jak opóźnić wykonanie kodu


(ws) #1

Czy jest jakieś polecenie, lub wogóle jakiś sposób aby kolejne linie kodu wykonywane były z opóźnieniem np 1 sekundowym?


(Stachan) #2

a jakiego kodu? pod jaki system? w jakim języku?


(ws) #3

Napisałem w temacie że chodzi o kod w VBA.

Jeżeli wiesz to ta informacja jest wystarczająca.


(adpawl) #4
  1. wykorzystać pustą pętle - wadą brak kontroli czasu

  2. API - link http://www.mangovision.com/vbapi/ref/s/settimer.html

dodatkowo... tu coś jest z czasem w VBA: http://www.republika.pl/vbadam/vba_sob.htm

powodzenia... =;


(ws) #5

Nie widze tam rozwiązania ale to ciekawa stronka.

Chodzi mi o to żeby każda linia kodu (w fragnencie lub nawet całej procedurze) była wykonana z opóźnieniem tak żeby np procedurka z 20 liniami wykonywała się w 20 sekund a nie w ułamku s.


(adpawl) #6

W drugim linku:

Sub WstrzymStandardowy5sek()

Dim stoper

stoper = Now + TimeValue("00:00:05")

Do While Now < stoper

Loop

Beep

End Sub


i


Sleep 5000 lub Wait 5000

Wszystko zależy właśnie od wersji VBA...


(ws) #7

Jest to sposób ale troszkę nieporęczny, bo gdy będę miał 100 linii kodu to będę musiał co linijkę zrobić pętlę albo odwołanie do innej sub(pętli) albo coś innego wymyślić. Ale dla kilkunastu linijek chyba może być.

adpawl - powiesz mi jeszcze jek zrobić żeby ta pętla trwała np 0,2 sekundy?