Разница между функцией DoEvents в VBScript и VBA заключается в том, что в VBScript аналогичной процедуре DoEvents является метод void TApplication::ProcessMessages(void) глобальной переменной Application. 5 Он обрабатывает все сообщения, находящиеся на момент вызова метода в очереди сообщений, после этого продолжает выполняться код текущей функции. 5
В VBA функция DoEvents передаёт управление операционной системе, чтобы она могла обработать другие события. 4 Управление возвращается, когда операционная система завершает обработку событий в очереди и все ключи в очереди SendKeys отправлены. 4
Таким образом, основное различие заключается в том, что в VBScript аналогичной процедуре DoEvents является метод, а в VBA — сама функция, которая передаёт управление операционной системе и возвращает число открытых форм в приложении. 14