[VBA/ Excel] Timing issue

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Masch
  • Registratie: Augustus 2002
  • Laatst online: 11-09 15:56
Hallo iedereen,

Ik heb een lastig probleem met vba in Excel 2007. Ik heb een stuk code wat precies om de 10 seconden moet worden uitgevoerd. Deze code loopt een aantal miliseconden en is niet constant (er worden sensoren uitgelezen en dit kan 'even' duren). Eerder had ik in de code de opdracht application.wait(10) staan, waardoor de loggings om de 10 seconden + uitleestijd werden geplaatst. Dit is niet de bedoeling, want de loggings moeten om de 10 seconden worden uitgevoerd. In een test van 30 minuten moeten er dus 180 loggings worden uitgevoerd, elke precies om de 10 seconden.

Ik had bedacht om via onderstaand stukje code bovenstaande problematiek op te lossen.

Visual Basic:
1
2
3
4
5
6
7
8
9
10
11
12
Function test()
begintijd = Now()
eindtijd = Now() + TimeSerial(0, 0, 10)

'Hier loopt de overige code, uitlezen van de sensoren

Do Until eindtijd < Now()
    'wachten
Loop

MsgBox begintijd & " " & eindtijd & " " & Now()
End Function


Op de een of andere manier werkt dit echter ook niet. Als ik de code zoals hierboven getoond laat lopen (ook zonder de overige code), dan is de output van het messagebox vaak (niet altijd..) de eindtijd + 1 seconde. De variabelen begintijd en einddtijd kloppen echter wel. Conclusie is dus dat ook met deze methode de loggings niet precies 1x per 10 seconden lopen.

Weten jullie wel een methodiek waarmee ik hier wel voor kan zorgen?

(\__/) Ik wist totaal niet wat hier neer te zetten....
(='.'=) Dus het werd....
("")("") Een konijn!!


Acties:
  • 0 Henk 'm!

  • pedorus
  • Registratie: Januari 2008
  • Niet online
Zo'n loopje is niet erg milieu/cpu-vriendelijk. Je kunt het volgende event gewoon inplannen:
MSDN: Application.OnTime Method (Excel)

Vitamine D tekorten in Nederland | Dodelijk coronaforum gesloten


Acties:
  • 0 Henk 'm!

  • farlane
  • Registratie: Maart 2000
  • Laatst online: 11-09 12:01
Iets anders pakken dan Excel is de enige goede manier.

Somniferous whisperings of scarlet fields. Sleep calling me and in my dreams i wander. My reality is abandoned (I traverse afar). Not a care if I never everwake.