Observação: A função, método, objeto ou propriedade descrita neste tópico será desabilitada se o Serviço de Expressão de Jato da Microsoft estiver em execução no modo de área restrita, o que impede a avaliação de expressões potencialmente inseguras. Para obter mais informações sobre o modo de área restrita, procure por "modo de área restrita" na Ajuda.

Gera execução para que o sistema operacional possa processar outros eventos.

Sintaxe

DoEvents ( )

Comentários

A função DoEvents retorna um Inteiro que representa o número de formulários abertos em versões autônomas do Microsoft Visual Basic, como Visual Basic, Professional Edition. O DoEvents retorna zero em todos os outros aplicativos.

O DoEvents passa o controle para o sistema operacional. O controle é retornado depois que o sistema operacional terminar de processar os eventos em sua fila e todas as chaves na fila SendKeys tiverem sido enviadas.

O DoEvents é mais útil para coisas simples, como permitir que um usuário cancele um processo após o início, por exemplo, uma pesquisa por um arquivo. Para processos de longa execução, o rendimento para o processador é melhor realizado usando um Temporizador ou delegando a tarefa a um componente ActiveX EXE. Neste último caso, a tarefa pode continuar completamente independente do seu aplicativo e o sistema operacional cuida do corte de tempo e multitarefa.

Sempre que você ceder temporariamente ao processador dentro de um procedimento de evento, verifique se o procedimento não será executado novamente de uma parte diferente do código antes do retorno da primeira chamada; isso pode causar resultados imprevisíveis. Além disso, não use DoEvents se outros aplicativos puderem interagir com seu procedimento de maneiras imprevistas durante o tempo em que você rendeu o controle.

Exemplo

Observação: Exemplos a seguir demonstram o uso dessa função em um módulo VBA (Visual Basic for Applications). Para obter mais informações sobre como trabalhar com o VBA, selecione Referência do Desenvolvedor na lista suspensa ao lado de Pesquisar e insira um ou mais termos na caixa de pesquisa.

Este exemplo usa a função DoEvents para fazer com que a execução ceda ao sistema operacional uma vez a cada 1000 iterações do loop. O DoEvents retorna o número de formulários abertos do Visual Basic, mas somente quando o aplicativo host é 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.

Precisa de mais ajuda?

Quer mais opções

Explore os benefícios da assinatura, procure cursos de treinamento, saiba como proteger seu dispositivo e muito mais.

As comunidades ajudam você a fazer e responder perguntas, fazer comentários e ouvir especialistas com conhecimento avançado.