TRATAMENTO DE ERROS VB
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
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
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![Ô]
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.
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.
Tente assim:
final:
err.clear
msgbox [Ô]Trabalhando offline![Ô]
Eu utilizo outra lógica para o tratamento de erros:
Com o código do erro, posso enviar a mensagem mais adequada no momento.
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