DoEvents
Instrução
empregada para permitir que o processador execute outras instruções na lista de
chamadas, permitindo que outros eventos sejam processados durante a execução
deoutro procedimento, utilizando esta sintaxe:
DoEvents()
As seguintes considerações são válidas sobre a função
DoEvents:
- DoEvents passa o controle do fluxo de execução para o sistema operacional, o qual retorna o controle para o VBA tão logo tenha de terminar outros eventos na lista de chamadas, ou até que todas as teclas fornecidas pela função SendKeys tenham sido processadas.
- O principal emprego de DoEvents reside no cancelamento de um processo após o mesmo ter sido iniciado.
- A instrução DoEvents é empregada para funções simples, como o pressionamento de um botão Cancelar que causa a interrupção de um processo atualmente em curso. Se você não empregar DoEvents durante o processo em execução, não poderá processar o evento Click do botão Cancelar, e a única alternativa será aguardar indefinidamente até que o processo termine.
Exemplo: O exemplo a seguir demonstra um laço
infinito utilizando uma instrução Do...Loop, disparado a partir do evento Cick
do botão cmdOK. O laço possuí em seu interior uma instrução DoEvents, capaz de
permitir interromper sua execução a partir do evento Click de um botão
cmdCancelar no mesmo formulário. Note que nesta situação. Empregua-se uma
variável declarada ao nível do módulo para indicar se o botão cdmCancelar foi
ou não pressionado.
Dim mfCancelar_Cclock()
Do
DoEvents
If mfCancelou Then
Exit Do
End If
Loop
End Sub
Sub cdmCancelar_Click()
MfCancelou = True
End Sub
Até a Próxima!!
Nenhum comentário:
Postar um comentário