VERIFICAR CAMINHO NA REDE
Bom dia, alguem sabe como verificar um caminho na rede.
Listo um grupo de endereços na rede cadastrados anteriormente em um listbox, depois tento acessar o arquivo ao qual cada aquele endereço se refere, mas se o terminal na rede tiver desligado ele retorna o err numero 52.
tentei usa o comando DIR mas nao deu certo retora o mesmo erro, entao preciso de um comando ou funcao q check se a conecao com terminal esta ativa ou alguma coisa que teste um endereço na rede e retorne TRUE ou FALSE, alguem tem alguma coisa?
Listo um grupo de endereços na rede cadastrados anteriormente em um listbox, depois tento acessar o arquivo ao qual cada aquele endereço se refere, mas se o terminal na rede tiver desligado ele retorna o err numero 52.
tentei usa o comando DIR mas nao deu certo retora o mesmo erro, entao preciso de um comando ou funcao q check se a conecao com terminal esta ativa ou alguma coisa que teste um endereço na rede e retorne TRUE ou FALSE, alguem tem alguma coisa?
o [Ô]DIR[Ô] nao funcionou?
If Dir$(EndBanco & arquivo.txt[Ô]) <> [Ô][Ô] Then
Open EndBanco & [Ô]arquivo.txt[Ô] For Input As iARQ
Do While Not EOF(iARQ)
Line Input #iARQ, sLinha
sResult = sResult + sLinha + Chr(13) & Chr(10)
Loop
Sinopse = sResult
Close iARQ
Else
msgbox ([Ô]caminho nao foi localizado[Ô])
Sinopse = [Ô][Ô]
End If
If Dir$(EndBanco & arquivo.txt[Ô]) <> [Ô][Ô] Then
Open EndBanco & [Ô]arquivo.txt[Ô] For Input As iARQ
Do While Not EOF(iARQ)
Line Input #iARQ, sLinha
sResult = sResult + sLinha + Chr(13) & Chr(10)
Loop
Sinopse = sResult
Close iARQ
Else
msgbox ([Ô]caminho nao foi localizado[Ô])
Sinopse = [Ô][Ô]
End If
nao o erro é justamente no DIR.
olha só apenas trate o erro.
On Error Goto TrataErro
[ô] sua função
Exit Sub
TrataErro:
If Err.Number = 52 Then
Msgbox [Ô]Computador da rede está desligado![Ô]
End If
On Error Goto TrataErro
[ô] sua função
Exit Sub
TrataErro:
If Err.Number = 52 Then
Msgbox [Ô]Computador da rede está desligado![Ô]
End If
Tratar o erro nao resolve, como eu disse é uma lista de endereços, se o terceiro endereço nao tiver na REDE e der erro, o restante dos endereços ficará sem execultar, tamber tentei usar uma sub e chamar pelo gosub, mas tambem nao deu certo se o erro ocorre dentro da sub ela nao chama a sub on error.
para isto use um resume next assim
On Error Goto TrataErro
[ô] sua função
Exit Sub
TrataErro:
If Err.Number = 52 Then
Msgbox [Ô]Computador da rede está desligado![Ô]
[txt-color=#e80000]Resume Next[/txt-color]
End If
tente agora
On Error Goto TrataErro
[ô] sua função
Exit Sub
TrataErro:
If Err.Number = 52 Then
Msgbox [Ô]Computador da rede está desligado![Ô]
[txt-color=#e80000]Resume Next[/txt-color]
End If
tente agora
FOI QUASE ASSIM MARCELO
CRIEI UMA PRIVATE SUB SEM TRATAMENTO DE ERRO
NO EVENTO QUE CHECARIA O CAMINHO DO ARQUIVO CRIEI UM DO WHILE COM TRATAMENTO DE ERRO
ASSIM SE O ERRO OCORRECE NA SUB ELE RETORNARIA PARA O EVENTO
O EVENTO MOVE O REGISTRO SE NAO FOR O ULTIMO CHAMA SUB
ENTENDEU
VALEU PELA ATENÇÃO
CRIEI UMA PRIVATE SUB SEM TRATAMENTO DE ERRO
NO EVENTO QUE CHECARIA O CAMINHO DO ARQUIVO CRIEI UM DO WHILE COM TRATAMENTO DE ERRO
ASSIM SE O ERRO OCORRECE NA SUB ELE RETORNARIA PARA O EVENTO
O EVENTO MOVE O REGISTRO SE NAO FOR O ULTIMO CHAMA SUB
ENTENDEU
VALEU PELA ATENÇÃO
Tópico encerrado , respostas não são mais permitidas