none
AJUDA COM A SUB DO LUIZ RRS feed

  • Pergunta

  • Caros amigos boa tarde :

     

    Como já postei aqui, o nosso amigo Luiz Cláudio 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!

    segunda-feira, 11 de fevereiro de 2008 14:40

Respostas

Todas as Respostas

  • Boa Tarde,

     

    O ideal mesmo seria utilizar o objeto Scripting.FileSystemObject para verificar se o arquivo existe ou não para posteriormente abrí-lo. No entanto, você pode usar uma abordagem mais rápida através do tratamento de erros. Ex:

     

    Code Snippet

    Private Sub CommandButton1_Click()

     

    'Essa linha faz com que qualquer erro seja ignorado

    OnError Resume Next

     

    'Procedimento para abrir o arquivo


    Dim WApp As Object
    Set WApp = CreateObject("Word.Application")
    WApp.Documents.Open ("D:\" & TextBox1.Text & ".doc")
    WApp.Visible = True

     

    'Se houver algum erro

    if err.number <> 0 then

    msgbox "Erro ao abrir o arquivo"

    end

     

    'Essa linha anula o efeito do OnError Resume Next

    OnError Goto 0


    End Sub

     

     

     

    Veja se ajuda

     

    [ ]s,

     

    Gustavo

    segunda-feira, 11 de fevereiro de 2008 16:17
  • Como vai amigo Gustavo, obrigado pela sua anção ao meu tópico!!!

     

    Está dando um erro na linha OnError Resume Next e na linha OnError Goto 0 . Quando eu colei as linhas elas ficaram vermelhas, ou seja, o VBA não reconheceu as linhas.

     

    A mensagem que aparece é a seguinte :

     

    Erro de compilação

    Era esperado : expressão

     

    Lembrando que a sub que estou usando é para VBA do Excel.

     

    Mais uma vez muito obrigado Gustavo...valeu!!!

     

     

    segunda-feira, 11 de fevereiro de 2008 19:16
  • Ooops,

     

    Separe o On Error. O correto é On Error e não OnError

     

    [ ]s,

     

    Gustavo

     

    segunda-feira, 11 de fevereiro de 2008 22:46
  • E ai meu amigo Gustavo blz?

     

    Cara agora a "bagaça" funcionou que é uma blz! Ficou ótimo.

     

    Muito obrigado pela sua ajuda, valeu mesmo!!!

     

    Um grande abraço!

    segunda-feira, 11 de fevereiro de 2008 22:53