TRATAMENTO DE ERROS VB

RENATINHOCKP 06/01/2012 14:29:06
#392564
Galera, por favor tentem me dar uma ajuda.

Trabalho com Hyperion (Business Inteligence) e criamos algumas macros no Excel que busca e monta relatórios direto no Excel com os valores e tudo mais.
Porém, algumas maquinas que serão disponibilizadas esse arquivo Excel, não terá as ferramentas de Hyperion instaladas, então na hora de rodar alguma das Funções que tenta conectar na ferramenta, ele dá o seguinte erro: Run-time error [ô]53[ô]: Item not found: ESSEXCLN.XLL
Tanto eu, como o cliente sabemos que o erro é obrigatório a dar, visto que não vai conectar na ferramenta para funcionar corretamente, mas eu gostaria de tratar esse erro. Ao invés de aparecer esse Run-time error [ô]53[ô], gostaria que aparecesse algo tipo: [Ô]Não foi possível conectar. Trabalhando offline.[Ô]

Criei uma sub que deveria fazer esse trabalho, mas não sei se está certa e não consigo coloca-la para rodar dentro da função que chama a conexão com a ferramenta.
Alguem poderia me ajudar.

[txt-size=2][ô] Função para tratamento de erros[/txt-size]
[ô]-------------
Private Sub TrataErro()
On Error GoTo Err_arq
arq = FreeFile
Open “C:    este.dat” for input as #arq
Do While EOF(arq) = False
Line Input #arq, linha
Loop
Close (arq)
Exit Sub

Err_arq:
Msgbox “Ocorreu um erro na leitura do arquivo”
If Err.Number = 53 Then Msgbox “Trabalhando offline.”
Close (arq)
End Sub


[txt-size=2]Função que tenta conectar a ferramenta:[/txt-size]
[ô] Atualizações referentes a Conta de Exploração.
[ô]----------------
SheetConnect = [Ô][[Ô] & ThisWorkbook.Name & [Ô]][Ô] & [Ô]CE_Realizado An -1[Ô]
If EssVRetrieve(SheetConnect, Null, 1) Then
MsgBox [Ô]Error Sheet: [Ô] & SheetConnect
End If
application.StatusBar = [Ô]Hyperion Addin: [Ô] & M & [Ô] of [Ô] & i & [Ô]: [Ô] & Format(M / i, [Ô]Percent[Ô]) & [Ô] complete.[Ô]
DoEvents
M = M + 1

ASHKATCHUP 06/01/2012 14:41:54
#392565

Atualizações referentes a Conta de Exploração.
[ô]----------------
On error goto final

SheetConnect = [Ô][[Ô] & ThisWorkbook.Name & [Ô]][Ô] & [Ô]CE_Realizado An -1[Ô]
If EssVRetrieve(SheetConnect, Null, 1) Then
MsgBox [Ô]Error Sheet: [Ô] & SheetConnect
End If
application.StatusBar = [Ô]Hyperion Addin: [Ô] & M & [Ô] of [Ô] & i & [Ô]: [Ô] & Format(M / i, [Ô]Percent[Ô]) & [Ô] complete.[Ô]
DoEvents
M = M + 1
exit sub

final:
msgbox [Ô]Trabalhando offline![Ô]
RENATINHOCKP 06/01/2012 14:47:23
#392567
Nossa, muito obrigado Ashkatchup

Realmente retornou a mensagem de Trabalhando Offline na hora do clique, porém também apareceu o erro que estava aparecendo antes do Run-time error.
Teria como tira-lo??

Agradeço desde já pela ajuda.
ASHKATCHUP 06/01/2012 22:52:01
#392603
Tente assim:


final:
err.clear
msgbox [Ô]Trabalhando offline![Ô]
EDERMIR 09/01/2012 12:46:35
#392728
Eu utilizo outra lógica para o tratamento de erros:

Atualizações referentes a Conta de Exploração.
[ô]----------------
On error RESUME NEXT

SheetConnect = [Ô][[Ô] & ThisWorkbook.Name & [Ô]][Ô] & [Ô]CE_Realizado An -1[Ô]
If EssVRetrieve(SheetConnect, Null, 1) Then
MsgBox [Ô]Error Sheet: [Ô] & SheetConnect
End If
application.StatusBar = [Ô]Hyperion Addin: [Ô] & M & [Ô] of [Ô] & i & [Ô]: [Ô] & Format(M / i, [Ô]Percent[Ô]) & [Ô] complete.[Ô]
DoEvents
M = M + 1
if err.number <> 0 then
msgbox(err.description)
endif
ON ERROR GOTO 0
exit sub


Com o código do erro, posso enviar a mensagem mais adequada no momento.
Tópico encerrado , respostas não são mais permitidas