Примечание: Функция, метод, объект или свойство, описанные в данном разделе, отключаются, если служба обработки выражений Microsoft Jet выполняется в режиме песочницы, который не позволяет рассчитывать потенциально небезопасные выражения. Для получения дополнительных сведений выполните в справке поиск по словам "режим песочницы".

Функция передает управление операционной системе для обработки других событий.

Синтаксис

DoEvents ( )

Замечания

Функция DoEvents возвращает целое число, представляющее количество открытых форм в автономных версиях Microsoft Visual Basic, таких как Visual Basic Professional Edition. Функция DoEvents возвращает нуль для всех других приложений.

DoEvents передает управление операционной системе. Управление возвращается по завершении обработки очереди событий операционной системой и отправки всех значений из очереди SendKeys.

Функция DoEvents наиболее удобна при выполнении простых задач, таких как предоставление пользователю возможности прервать запущенный процесс (например, поиск файла). При обработке продолжительных процессов рекомендуется для передачи управления использовать событие "Таймер" или делегирование задачи компоненту ActiveX EXE. В последнем случае выполнение задачи может продолжаться совершенно независимо от приложения, а многозадачность и управление временем процессора осуществляется операционной системой.

Каждый раз, когда вы временно уступите обработчику в рамках процедуры события, убедитесь, что процедура не выполняется повторно из другой части кода, прежде чем будет возвращен первый вызов. это может привести к непредсказуемым результатам. Кроме того, не используйте DoEvents , если другие приложения могли взаимодействовать с вашей процедурой непредвиденными способами во время предоставления управления.

Пример

Примечание: В примерах ниже показано, как использовать эту функцию в модуле Visual Basic для приложений (VBA). Чтобы получить дополнительные сведения о работе с VBA, выберите Справочник разработчика в раскрывающемся списке рядом с полем Поиск и введите одно или несколько слов в поле поиска.

В этом примере функция DoEvents используется для передачи управления операционной системе через каждую тысячу итераций цикла. Функция DoEvents возвращает количество открытых форм Visual Basic при условии, что ведущим приложением является 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.

Нужна дополнительная помощь?

Нужны дополнительные параметры?

Изучите преимущества подписки, просмотрите учебные курсы, узнайте, как защитить свое устройство и т. д.

В сообществах можно задавать вопросы и отвечать на них, отправлять отзывы и консультироваться с экспертами разных профилей.