Jump to content
Fórum Script Brasil
  • 0

Ajuda em sub de busca de documentos


FabianoCRZ

Question

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 to comment
Share on other sites

1 answer to this question

Recommended Posts

  • 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 to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152k
    • Total Posts
      651.5k
×
×
  • Create New...