DoEvents-Funktion

Hinweis : Die Funktion, die Methode, das Objekt oder die Eigenschaft, die bzw. das in diesem Thema erläutert wird, ist deaktiviert, falls der Ausdrucksdienst in Microsoft Jet im geschützten Modus (Sandkastenmodus) ausgeführt wird. In diesem Modus wird die Auswertung von potenziell unsicheren Ausdrücken verhindert. Weitere Informationen zum geschützten Modus finden Sie in der Hilfe unter "Sandkastenmodus".

Gibt die Steuerung an das Betriebssystem, damit das Betriebssystem andere Prozesse verarbeiten kann.

Syntax

DoEvents ( )

Hinweise

Die DoEvents-Funktion gibt eine Ganzzahl zurück, die die Anzahl geöffneter Formulare in eigenständigen Versionen von Microsoft Visual Basic, beispielsweise Visual Basic Professional Edition, darstellt. DoEvents gibt in allen anderen Anwendungen 0 (null) zurück.

DoEvents gibt die Steuerung an das Betriebssystem weiter. Die Steuerung wird zurückgegeben, nachdem das Betriebssystem die Verarbeitung der in der zugehörigen Warteschlange befindlichen Ereignisse abgeschlossen hat und nachdem alle Schlüssel in der SendKeys-Warteschlange gesendet wurden.

DoEvents ist für einfache Vorgänge besonders hilfreich, beispielsweise um dem Benutzer das Abbrechen eines Prozesses nach dessen Start zu ermöglichen (z. B. eine Dateisuche). Bei Prozessen mit langer Ausführungszeit wird die Bereitstellung des Prozessors besser durch Verwendung eines Zeitgebers oder durch Delegieren des Tasks an eine ActiveX-EXE-Komponente erreicht. Im letzteren Fall kann der Task vollständig unabhängig von Ihrer Anwendung fortgesetzt werden, und das Betriebssystem übernimmt Multitasking- und Zeitschachtelungsvorgänge.

Stellen Sie bei jeder vorübergehenden Bereitstellung des Prozessors in einer Ereignisprozedur sicher, dass die Prozedur vor der Rückgabe des ersten Aufrufs nicht erneut von einem anderen Teil des Codes ausgeführt wird; dies könnte zu unerwarteten Ergebnissen führen. Verwenden Sie zudem DoEvents nicht, wenn die Möglichkeit besteht, dass andere Anwendungen auf unvorhergesehene Art und Weise mit Ihrer Prozedur agieren, während Sie die Steuerung bereitstellen.

Beispiel

Hinweis : Die folgenden Beispiele zeigen die Verwendung dieser Funktion in einem VBA-Modul (Visual Basic for Applications). Wenn Sie weitere Informationen zum Arbeiten mit VBA wünschen, wählen Sie Entwicklerreferenz in der Dropdownliste neben Suchen aus, und geben Sie einen oder mehrere Begriffe in das Suchfeld ein.

In diesem Beispiel wird die DoEvents-Funktion zum Auslösen der Ausführung verwendet, bei der das Betriebssystem in jeder tausendsten Iteration der Schleife bereitgestellt wird. DoEvents gibt die Anzahl geöffneter Visual Basic-Formulare zurück, aber nur dann, wenn Visual Basic die Hostanwendung ist.

' 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.
Ihre Fähigkeiten erweitern
Schulung erkunden
Neue Funktionen als Erster erhalten
An Office Insider teilnehmen

War diese Information hilfreich?

Vielen Dank für Ihr Feedback!

Vielen Dank für Ihr Feedback. Es klingt, als ob es hilfreich sein könnte, Sie mit einem unserer Office-Supportmitarbeiter zu verbinden.

×