Applies ToAccess dla Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Uwaga: Funkcja, metoda, obiekt lub właściwość opisana w tym temacie jest wyłączona, jeśli usługa wyrażeń Microsoft Jet działa w trybie piaskownicy, co uniemożliwia oszacowanie potencjalnie niebezpiecznych wyrażeń. Aby uzyskać więcej informacji na temat trybu piaskownicy, wyszukaj "tryb piaskownicy" w Pomocy.

Wydajność wykonania, dzięki czemu system operacyjny może przetwarzać inne zdarzenia.

Składnia

DoEvents ()

Uwagi

Funkcja DoEvents zwraca liczbę całkowitą reprezentującą liczbę otwartych formularzy w autonomicznych wersjach programu Microsoft Visual Basic, takich jak Visual Basic, Professional Edition. Funkcja DoEvents zwraca wartość zero we wszystkich innych aplikacjach.

Funkcja DoEvents przekazuje kontrolę do systemu operacyjnego. Kontrolka jest zwracana po zakończeniu przetwarzania zdarzeń w kolejce przez system operacyjny i wysłaniu wszystkich kluczy w kolejce SendKeys .

Funkcja DoEvents jest najbardziej przydatna w przypadku prostych czynności, takich jak zezwolenie użytkownikowi na anulowanie procesu po jego rozpoczęciu, na przykład w celu wyszukania pliku. W przypadku długotrwałych procesów wydajność procesora jest lepiej realizowana za pomocą czasomierza lub oddelegowania zadania do składnika ActiveX EXE. W tym drugim przypadku zadanie może być nadal całkowicie niezależne od aplikacji, a system operacyjny zajmuje się wielozadaniowość i krojenie czasu.

Za każdym razem, gdy tymczasowo dajesz procesorowi w ramach procedury zdarzenia, upewnij się, że procedura nie zostanie wykonana ponownie z innej części kodu, zanim zostanie zwrócone pierwsze wywołanie. może to spowodować nieprzewidywalne wyniki. Ponadto nie używaj funkcji DoEvents , jeśli inne aplikacje mogłyby w nieprzewidzianych przypadkach wchodzić w interakcje z Twoją procedurą w czasie, gdy uzyskasz kontrolę.

Przykład

Uwaga: Poniższe przykłady przedstawiają sposób użycia tej funkcji w module języka Visual Basic for Applications (VBA). Aby uzyskać dodatkowe informacje na temat pracy w języku VBA, wybierz pozycję Dokumentacja dewelopera z listy rozwijanej obok przycisku Wyszukaj i wprowadź odpowiednie terminy w polu wyszukiwania.

W tym przykładzie użyto funkcji DoEvents , aby spowodować, że wykonanie przyniesie systemowi operacyjnego co 1000 iteracji pętli. Funkcja DoEvents zwraca liczbę otwartych formularzy języka Visual Basic, ale tylko wtedy, gdy aplikacja hosta ma format Visual Basic.

' Create a variable to hold number of ' Visual Basic forms loaded and visible.Dim I, OpenFormsFor 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 IfNext I    ' Increment loop counter.

Potrzebujesz dalszej pomocy?

Chcesz uzyskać więcej opcji?

Poznaj korzyści z subskrypcji, przeglądaj kursy szkoleniowe, dowiedz się, jak zabezpieczyć urządzenie i nie tylko.

Społeczności pomagają zadawać i odpowiadać na pytania, przekazywać opinie i słuchać ekspertów z bogatą wiedzą.