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

Ajuda em sub de busca de documentos


FabianoCRZ

Pergunta

Caros amigos boa tarde :

Como já postei aqui, o nosso amigo Luiz Cláudio do Fórum da Microsoft me enviou uma grande ajuda, uma sub rotina para VBA em Excel, que faz a procura de um documento em pasta definida na própria sub e quando o arquivo do Word é encontrado ele é aberto :

Private Sub CommandButton1_Click()

Dim WApp As Object

Set WApp = CreateObject("Word.Application")

WApp.Documents.Open ("D:\" & TextBox1.Text & ".doc")

WApp.Visible = True

End Sub

Essa sub rotina caiu com uma luva para o que eu estava precisando, mas gostaria de perguntar a vocês se existe uma forma de eu tratar o erro que dá quando o documento não é encontrado?

Quando o documento é encontrado o documento do Word é aberto perfeitamente, mas quando o documento a ser encontrado não está dentro da pasta especificada dá o seguinte erro :

"Erro em tempo de execução '5174'

Este arquivo não foi encontrado

Tente uma das opções a seguir"

...etc etc

Com faço para não aparecer essa mensagem, mas sim uma caixa de mensagem(msgbox) com uma mensagem de arquivo não encontrado? ( ex: msgbox"ESSE ARQUIVO NÃO FOI ENCONTRADO!")

Mais uma vez muito obrigado!

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0
Guest João Neto

Você tem duas alternativas:

1-) Tratamento de Erros:

Private Sub CommandButton1_Click()

On Error GoTo erro_na_abertura

Dim WApp As Object

Set WApp = CreateObject("Word.Application")

WApp.Documents.Open ("D:\" & TextBox1.Text & ".doc")

WApp.Visible = True

Exit Sub

erro_na_abertura:

If Err.Number = 5174 Then

MsgBox "ESSE ARQUIVO NÃO FOI ENCONTRADO!"

End If

End Sub

2-) Usando a classe FileSystemObject

Private Sub CommandButton1_Click()

Dim WApp As Object

Dim arquivo As Scripting.FileSystemObject

Set arquivo = New Scripting.FileSystemObject

Set WApp = CreateObject("Word.Application")

If arquivo.FileExists("D:\" & TextBox1.Text & ".doc") Then 'FileExists verifica se o arquivo existe e retorna true para caso positivo e false para caso em que o arquivo não exista

WApp.Documents.Open ("D:\" & TextBox1.Text & ".doc")

WApp.Visible = True

Else

MsgBox "ESSE ARQUIVO NÃO FOI ENCONTRADO!"

End If

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...