Pesquisar este blog

segunda-feira, 28 de outubro de 2013

FUNÇÃO E INSTRUÇÃO DE CONTROLE DO FLUXO DE EXECUÇÃO - DOEVENTS

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