Função DoEvents

Nota: Queremos fornecer-lhe os conteúdos de ajuda mais recentes o mais rapidamente possível e no seu idioma. Esta página foi traduzida automaticamente e pode conter erros gramaticais ou imprecisões. O nosso objetivo é que estes conteúdos lhe sejam úteis. Pode informar-nos se as informações foram úteis no final desta página? Eis o artigo em inglês para referência.

Nota: A função, método, objeto ou propriedade descritas neste tópico é desativada se o serviço do Microsoft Jet expressão estiver em execução no modo sandbox, que impede a avaliação de expressões potencialmente inseguros. Para obter mais informações sobre o modo sandbox, procure "o modo sandbox" na ajuda.

Origina a execução para que o sistema operativo possa processar outros eventos.

Sintaxe

DoEvents ( )

Comentários

A função DoEvents devolve um número inteiro que representa o número de formulários abertos em versões autónomas do Microsoft Visual Basic, como o Visual Basic, Professional Edition. DoEvents devolve zero em todas as outras aplicações.

DoEvents transmite controlo para o sistema operativo. O controlo é devolvido depois do sistema operativo já terminou processamento dos eventos na sua fila e todas as teclas na fila de espera ComandosPorTeclado tem sido enviadas.

DoEvents é muito útil para coisas tão simples como permitir que um utilizador cancelar um processo depois de ter sido iniciada, por exemplo uma pesquisa para um ficheiro. Para processos de execução longa que produzam para o processador melhor acontece utilizando um temporizador ou delegar a tarefa para um componente ActiveX EXE. Neste caso, a tarefa pode continuar completamente independentes da sua aplicação e o sistema operativo leva-o até o cuidado de várias tarefas e a hora cortar.

Sempre que temporariamente lucro para o processador dentro de um procedimento de evento, certifique-se da procedimento não é executado novamente a partir de uma parte diferente do seu código antes da primeira chamada devolve; Isto pode provocar resultados inesperados. Além disso, não utilize DoEvents se outras aplicações poderiam possivelmente interagir com o procedimento de formas imprevistas durante o período de tempo que originou o controlo.

Exemplo

Nota: Os exemplos seguintes demonstram a utilização desta função no módulo VBA (Visual Basic for Applications). Para obter mais informações sobre trabalhar com o VBA, selecione Referência para Programadores na lista pendente junto a Procurar e introduza um ou mais termos na caixa de pesquisa.

Este exemplo utiliza a função DoEvents para causar o lucro para o sistema operativo, uma vez por cada iterações de 1000 do ciclo da execução. DoEvents devolve o número de formulários do Visual Basic abertos, mas apenas quando a aplicação do anfitrião é o Visual Basic.

' Create a variable to hold number of 
' Visual Basic forms loaded and visible.
Dim I, OpenForms
For 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 If
Next I ' Increment loop counter.
Aumente os seus conhecimentos do Office
Explore as formações
Seja o primeiro a obter novas funcionalidades
Adira ao Office Insider

As informações foram úteis?

Obrigado pelos seus comentários!

Obrigado pelo seu feedback! Parece que poderá ser benéfico reencaminhá-lo para um dos nossos agentes de suporte do Office.

×