DoEvents, functie

Opmerking: De functie, de methode, het object of de eigenschap die wordt beschreven in dit onderwerp is uitgeschakeld als de Microsoft Jet Expression-service wordt uitgevoerd in de sandbox-modus. In deze modus wordt de evaluatie van mogelijk onveilige expressies voorkomen. Als u meer wilt weten over de sandbox-modus, zoekt u in de Help naar 'sandbox-modus'.

Met deze functie wordt de uitvoering overgedragen, zodat het besturingssysteem andere gebeurtenissen kan verwerken.

Syntaxis

DoEvents ( )

Opmerkingen

De functie DoEvents retourneert een geheel getal dat verwijst naar het aantal geopende formulieren in zelfstandige versies van Microsoft Visual Basic, zoals Visual Basic, Professional Edition. DoEvents retourneert nul in alle andere toepassingen.

Met DoEvents wordt de besturing overgedragen aan het besturingssysteem. De besturing wordt teruggegeven als het besturingssysteem de gebeurtenissen in de wachtrij heeft verwerkt en alle toetsen in de wachtrij SendKeys zijn verzonden.

DoEvents is vooral handig voor eenvoudige zaken zoals een gebruiker de mogelijkheid bieden om een proces te annuleren nadat dit is gestart, bijvoorbeeld een zoekopdracht naar een bestand. Voor langdurige processen is overdracht naar de processor gemakkelijker te realiseren met behulp van een timer of door de taak te delegeren naar een ActiveX EXE-component. In het laatste geval kan de taak volledig onafhankelijk van de toepassing worden verwerkt en zorgt het besturingssysteem voor multitasking en time-slicing.

Elke keer dat u vanuit een gebeurtenisprocedure tijdelijk de besturing overdraagt aan de processor, moet u ervoor zorgen dat de procedure niet opnieuw wordt uitgevoerd vanuit een ander deel van de code voordat de eerste oproep is afgerond. Dit kan namelijk onverwachte gevolgen hebben. Bovendien mag u DoEvents niet gebruiken als andere toepassingen op onvoorziene manieren interactie kunnen hebben met de procedure terwijl u de besturing hebt overgedragen.

Voorbeeld

Opmerking: In de volgende voorbeelden wordt het gebruik van deze functie in een VBA-module (Visual Basic for Applications) toegelicht. Meer informatie over het werken met VBA vindt u door in de vervolgkeuzelijst naast Zoeken de optie Referentie voor ontwikkelaars te selecteren en een of meer termen in het zoekvenster te typen.

In dit voorbeeld wordt de functie DoEvents gebruikt om de uitvoering om de 1000 herhalingen van de lus over te dragen aan het besturingssysteem. DoEvents retourneert het aantal geopende Visual Basic-formulieren, maar alleen als de hosttoepassing Visual Basic is.

' Create a variable to hold number of 
' Visual Basic forms loaded and visible.
Dim I, OpenForms
For I = 1 To 150000 ' Start loop.
If I Mod 1000 = 0 Then ' If loop has repeated
' 1000 times.
OpenForms = DoEvents ' Yield to operating system.
End If
Next I ' Increment loop counter.
Uw Office-vaardigheden uitbreiden
Training verkennen
Als eerste nieuwe functies krijgen
Deelnemen aan Office Insiders

Was deze informatie nuttig?

Bedankt voor uw feedback.

Hartelijk dank voor uw feedback! Het lijkt ons een goed idee om u in contact te brengen met een van onze Office-ondersteuningsagents.

×