Continuar no modo de depuração

0

Os programas VBA com os quais trabalho têm tratamento de erros. É comum quando o erro é mencionado para mim pelo usuário final, o foco do programa estará no manipulador de erros no modo de depuração. Nessas situações, quero investigar por que o erro ocorreu, portanto, digite "resume" e execute a linha de código "resume". Existe uma tecla de atalho, botão ou opção de menu que me permita retomar o programa? Se eu tentar usar "resume" no painel Immediate, recebo uma mensagem de erro.

    
por user2901516 20.08.2016 / 17:28

1 resposta

0

Parece que você quer algo assim.

Private Sub ErrorHandlerDeveloper_Test()

Dim uErrorMsg As String
Dim devStatus As Boolean

devStatus = True    ' Change to false when shared
'devStatus = False

Dim procName As String
procName = "ErrorHandlerDeveloper_Test"

On Error GoTo ErrorHandler

' *********************************
' code that triggers an error here
err.Raise 11
' *********************************

ExitRoutine:

    Exit Sub

ErrorHandler:

    If devStatus = True Then
        err.Clear
        On Error GoTo 0
        ' Return to the error line and highlight
        Resume

    Else
        uErrorMsg = "Take note of this information and advise the developer." & vbCr & vbCr
        'uErrorMsg = uErrorMsg & "Error Source...: " & Err.Source & vbCr  & vbCr
        uErrorMsg = uErrorMsg & "Procedure......: " & procName & vbCr & vbCr
        uErrorMsg = uErrorMsg & "Error Number..: " & err.Number & vbCr & vbCr
        uErrorMsg = uErrorMsg & "Description.....: " & err.Description

        Debug.Print uErrorMsg
        MsgBox uErrorMsg, , "Generated in " & procName

        Resume ExitRoutine

    End If

End Sub
    
por 22.08.2016 / 23:13

Tags