Notifications
Clear all

Command Time Out

3 Posts
2 Usuários
0 Reactions
1,178 Visualizações
mdosmagos
(@mdosmagos)
Posts: 78
Trusted Member
Topic starter
 

Boa noite!

Gostaria de saber se existe a possibilidade de definir um tempo máximo para a execução de uma macro, quero definir um limite, exemplo, quando chegar a 2 segundos de execução a macro é encerrada.

Alguém sabe como eu poderia fazer isso? Ou alguma alternativa que de o mesmo resultado.
Procurei e não encontrei...

Desde já grato...

 
Postado : 12/08/2014 7:41 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Não sei se é a melhor opção, pois não postou a utilidade que deseja.

Segue sugestão, onde ao executar a macro TestarIniciarParar, o código dentro do WHILE-WEND é executado por 15 segundos ...

As linhas com RANGE é só para ficar mais "ditático" o código e pode ser retirado.

Dim Sair As Boolean

Public Sub TestarIniciarParar()
    Sair = False
    Application.OnTime Now + TimeValue("00:00:15"), "PararMacro"

    Range("A1") = "Iniciado as " & Format(Now, "hh:mm:ss")
    While Not Sair
        Range("A2") = Format(Now, "hh:mm:ss")
        DoEvents
    Wend
    Range("A2") = ""
    Range("A3") = "Parado as " & Format(Now, "hh:mm:ss")
End Sub

Private Sub PararMacro()
    Sair = True
End Sub

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 12/08/2014 8:33 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

com o Application.Ontime vc pode chamar uma rotina em qto tempo quiser, e na rotina coloque uma linha com o conteúdo abaixo.

Eu juro pra vc q nunca fiz isso. Tipo, eu respeito o Excel, o sistema operacional e a máquina. Por isso eu nunca, em mais de 10 anos de experiencia, interrompi um código dessa forma.

Mas fica a dica...:

End

em qualquer momento da macro seja agendado ou não, vai interromper a execução na hora. Se for dentro de um loop, vc atinge seu objetivo.

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 12/08/2014 11:56 pm