none
Endereco de documento .docx RRS feed

  • Pergunta

  • Boa noite,

    Estou com um problema num código de uma aplicação VBA, no caso estou montando um formulário para após preenchido gerar um arquivo word com os dados do formulário, a questão é que no meu computador o código compila porque inseri o endereço do arquivo .docx no corpo do programa, se eu rodar em outro computador vai gerar um erro porque o arquivo .docx não vai ser encontrado. Quero pedir pro usuário colocar o endereço do arquivo numa TextBox e fazer o vínculo com o word a partir disso, usei a função Dir a princípio, porém dá um erro de compilação, abre o word mas aparece uma msg dizendo que o arquivo não foi encontrado.

    Dim WORD As WORD.Application
    Dim DOC As WORD.Document
    Dim endereco As String
    Dim endereco1 As String
    Dim docx As WORD.Application
    
    endereco = TextBox39.Text
    endereco1 = TextBox40.Text
    
    Const PastaOrigem = "C:\"
    Const nomearq = "\Memorialteste"
    Const nomearq1 = "\Memorialteste1"
    
    Set WORD = CreateObject("Word.Application")
    WORD.Visible = True
    
    'Set DOC = WORD.Documents.Open("C:\Users\LIVIA\Desktop\memorial\Memorialteste.docx")'
    Set DOC = WORD.Documents.Open(Dir(PastaOrigem & endereco & nomearq & "*.docx"))
    
    
    
    With DOC
    
    .Application.Selection.Find.Text = "#Finalidade"
    .Application.Selection.Find.Execute
    .Application.Selection.Range = UCase(Me.TextBox1)
    
    ...
    
    
    'If Dir("C:\Users\LIVIA\Desktop\memorial\Memorialteste1.docx") <> "" Then'
       
      ' Kill "C:\Users\LIVIA\Desktop\memorial\Memorialteste1.docx"'
       
      ' End If'
      ' .SaveAs2 ("C:\Users\LIVIA\Desktop\memorial\Memorialteste1.docx")'
      
    If Dir(PastaOrigem & endereco1 & nomearq1 & "*.docx") <> "" Then
        
        Kill PastaOrigem & endereco1 & nomearq1 & "*.docx"
        
        End If
        
        .SaveAs2 Dir(PastaOrigem & endereco1 & nomearq1 & "*.docx")
        
    
    End With
    
    Set DOC = Nothing
    Set WORD = Nothing

    Não sei qual função usar para me auxiliar nesse problema


    quinta-feira, 28 de março de 2019 02:45

Todas as Respostas

  • Olá, Lívia! Veja se te ajuda!

    Private Sub CommandButtonAbrir_Click()
        Dim Word As Word.Application
        Dim DOC As Word.Document
        Dim caminho As String
        
        Set Word = CreateObject("Word.Application")
        Word.Visible = True
        
        'Obtem o caminho da TextBox
        caminho = TextBox1.Text
        
        'Abre o arquivo especificado
        Set DOC = Word.Documents.Open(caminho)
        
        'Ativa o arquivo aberto
        DOC.Activate
        
        'Mensagem de aviso
        MsgBox "Arquivo aberto!"
        
    End Sub
    


    “First do it, then do it right, then do it better.” - Addy Osmani

    sexta-feira, 29 de março de 2019 11:39