Ir para conteúdo
Fórum Script Brasil
  • 0

Função "on Error"


Erika Tímpano

Pergunta

Pessoas,

Eu desenvolvi um aplicativo no Excel e gostaria de, se houver qualquer erro no projeto que seja necessário abrir o depurador, o sistema desse uma msg de erro e fechasse o aplicativo.

Meu chefe disse que talvez uma tal função chamada "on Error" pudesse ajudar, mas eu não sei como usá-la.

Alguém pode me dar uma luz?

Tks a lot

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Achei essa explicação no help do VBA. Espero que ajude:

Exemplo da instrução On Error

Este exemplo primeiramente usa a instrução On Error GoTo para especificar o local de uma rotina de tratamento de erro dentro de um procedimento. No exemplo, uma tentativa de excluir um arquivo aberto gera o erro número 55. O erro é tratado na rotina de tratamento de erro e, em seguida, o controle é retornado à instrução que provocou o erro. A instrução On Error GoTo 0 desativa a interceptação de erro. Em seguida, a instrução On Error Resume Next é usada para adiar a interceptação de erro de modo que o contexto do erro gerado pela próxima instrução possa ser conhecido com certeza. Observe que Err.Clear é usada para limpar as propriedades do objeto Err depois que o erro é tratado.

Sub OnErrorStatementDemo()

On Error GoTo ErrorHandler ' Ative a rotina de tratamento de erro.

Open "ARQTESTE" For Output As #1 ' Abra o arquivo para saída.

Kill "ARQTESTE" ' Tente excluir arquivo

' aberto.

On Error Goto 0 ' Desative a interceptação de erro.

On Error Resume Next ' Adie a interceptação de erro.

ObjectRef = GetObject("MyWord.Basic") ' Tente iniciar um objeto

' inexistente e, em seguida, teste

'Verifique possíveis erros de automação.

If Err.Number = 440 Or Err.Number = 432 Then

' Informe ao usuário o que ocorreu. Em seguida, limpe o objeto Err.

Msg = "Houve um erro ao tentar abrir o Objeto de automação!"

MsgBox Msg, , "Teste de erro adiado"

Err.Clear ' Limpe os campos do objeto Err

End If

Exit Sub ' Saia para evitar manipulador.

ErrorHandler: ' Rotina de tratamento de erro.

Select Case Err.Number ' Avalie o número do erro.

Case 55 ' Erro "O arquivo já está aberto".

Close #1 ' Feche o arquivo aberto.

Case Else

' Trate outras situações aqui...

End Select

Resume ' Continue a execução na mesma linha

' que provocou o erro.

End Sub

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...