Poznámka: Funkce, metoda, objekt nebo vlastnost popsaná v tomto tématu jsou zakázány, pokud je služba Microsoft Jet Expression Service spuštěna v režimu sandboxu, což brání vyhodnocení potenciálně nebezpečných výrazů. Další informace o režimu sandboxu najdete v nápovědě pro "režim sandboxu".

Umožňuje spuštění, aby operační systém mohl zpracovávat další události.

Syntaxe

DoEvents ( )

Poznámky

Funkce DoEvents vrátí celé číslo představující počet otevřených formulářů v samostatných verzích jazyka Microsoft Visual Basic, například Visual Basic, Professional Edition. Funkce DoEvents vrátí ve všech ostatních aplikacích nula.

DoEvents předává řízení operačnímu systému. Ovládací prvek se vrátí po dokončení zpracování událostí ve frontě operačního systému a odeslání všech klíčů ve frontě SendKeys .

DoEvents je nejužitečnější pro jednoduché věci, jako je povolení uživateli zrušit proces po jeho zahájení, například hledání souboru. U dlouhotrvajících procesů je výnos procesoru lépe dosaženo pomocí časovače nebo delegování úlohy na komponentu ActiveX EXE. V druhém případě může úloha pokračovat zcela nezávisle na vaší aplikaci a operační systém se postará o multitasking a dělení času.

Kdykoli dočasně vrátíte procesoru v rámci procedury události, ujistěte se, že se Procedura znovu nespustí z jiné části kódu, než se vrátí první volání. to může způsobit nepředvídatelné výsledky. Kromě toho nepoužívejte DoEvents , pokud by jiné aplikace mohly s vaším postupem pracovat nepředvídatelnými způsoby během doby, kdy jste se dostali pod kontrolu.

Příklad

Poznámka: Následující příklady ukazují použití této funkce v modulu VBA (Visual Basic pro Applications). Pokud chcete další informace o práci s modulem VBA, vyberte Referenční informace pro vývojáře, které najdete v rozevíracím seznamu vedle položky Hledat a do vyhledávacího pole napište požadované pojmy.

V tomto příkladu se funkce DoEvents používá k provedení operačního systému jednou za každých 1000 iterací smyčky. DoEvents vrátí počet otevřených formulářů jazyka Visual Basic, ale pouze v případě, že hostitelská aplikace je 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.

Potřebujete další pomoc?

Chcete další možnosti?

Prozkoumejte výhody předplatného, projděte si školicí kurzy, zjistěte, jak zabezpečit své zařízení a mnohem více.

Komunity vám pomohou klást otázky a odpovídat na ně, poskytovat zpětnou vazbu a vyslechnout odborníky s bohatými znalostmi.