none
Macro Abrir Documento Word RRS feed

  • Pergunta

  • Prezados:

    Não tenho muita habilidade com VBA, estou fazendo uma macro para abrir documento do word, encontrei um código que começa como descrito abaixo, porém, por esse código o documento do word tem que estar na pasta "Teste" do drive "C:". Teria como fazer o código procurar o arquivo do word na mesma pasta em que estiver a planilha excel, na qual foi aberta, podendo ser em qualquer drive, pasta, pendrive e etc? Grato. Adriano

    Dim WORD As WORD.Application
    Dim DOC As WORD.Document
    Set WORD = CreateObject("Word.Application")
    WORD.Visible = True
    Set DOC = WORD.Documents.Open("C:\Teste\modelo.docx")
    With DOC


    • Editado AdrianoPires sexta-feira, 10 de maio de 2019 17:26
    sexta-feira, 10 de maio de 2019 17:25

Respostas

  • AdrianoPires,

      Você precisa de uma função que verifique em qual pasta está seu documento Excel e retorne isso para depois substituir no caminho "chumbado no código" (Hardcode) da pasta "C:\Teste\...".

      Experimente substituir por: "Application.ActiveWorkbook.Path". Veja os links:

    ======================================

    How to get the path of current worksheet in VBA?

    Use Application.ActiveWorkbook.Path for just the path itself (without the workbook name) or Application.ActiveWorkbook.FullName for the path with the workbook name.

    Dim myPath As String     
    Dim folderPath As String 
    
    folderPath = Application.ActiveWorkbook.Path    
    myPath = Application.ActiveWorkbook.FullName

    https://stackoverflow.com/questions/2813925/how-to-get-the-path-of-current-worksheet-in-vba
    ======================================

    Criar um novo arquivo excel dinamicamente

    https://www.exceldoseujeito.com.br/criar-um-novo-arquivo-excel-dinamicamente/
    ======================================

    Macro para Localizar arquivos no Computador e listar na planilha

    https://www.exceldoseujeito.com.br/macro-para-localizar-arquivos-no-computador-e-listar-na-planilha/

    ======================================

    []'s,
    Fabio I.
    • Editado Fabio I sábado, 11 de maio de 2019 06:02
    • Marcado como Resposta AdrianoPires segunda-feira, 13 de maio de 2019 15:41
    sábado, 11 de maio de 2019 06:01

Todas as Respostas

  • AdrianoPires,

      Você precisa de uma função que verifique em qual pasta está seu documento Excel e retorne isso para depois substituir no caminho "chumbado no código" (Hardcode) da pasta "C:\Teste\...".

      Experimente substituir por: "Application.ActiveWorkbook.Path". Veja os links:

    ======================================

    How to get the path of current worksheet in VBA?

    Use Application.ActiveWorkbook.Path for just the path itself (without the workbook name) or Application.ActiveWorkbook.FullName for the path with the workbook name.

    Dim myPath As String     
    Dim folderPath As String 
    
    folderPath = Application.ActiveWorkbook.Path    
    myPath = Application.ActiveWorkbook.FullName

    https://stackoverflow.com/questions/2813925/how-to-get-the-path-of-current-worksheet-in-vba
    ======================================

    Criar um novo arquivo excel dinamicamente

    https://www.exceldoseujeito.com.br/criar-um-novo-arquivo-excel-dinamicamente/
    ======================================

    Macro para Localizar arquivos no Computador e listar na planilha

    https://www.exceldoseujeito.com.br/macro-para-localizar-arquivos-no-computador-e-listar-na-planilha/

    ======================================

    []'s,
    Fabio I.
    • Editado Fabio I sábado, 11 de maio de 2019 06:02
    • Marcado como Resposta AdrianoPires segunda-feira, 13 de maio de 2019 15:41
    sábado, 11 de maio de 2019 06:01
  • Fábio, agradeço a atenção, mas não deu certo, ou eu não soube fazer, mas com estes comandos, a procura do arquivo WORD esta acontecendo em alguma pasta do "C:\WINDOWS...", quando a minha planilha está sendo aberta a partir de um pendrive. Grato. AdrianoPires.

    segunda-feira, 13 de maio de 2019 14:29
  • Fabio, consegui resolver com as seguintes alterações

    Set DOC = WORD.Documents.Open(Application.ThisWorkbook.Path & "\modelo.docx")

    Grato pela ajuda e atenção.

    Adriano


    • Editado AdrianoPires segunda-feira, 13 de maio de 2019 15:40
    segunda-feira, 13 de maio de 2019 15:36
  • Isso Adriano!

        O "Path" vai mostrar o caminho independente se for um HD ou uma Pendrive.

    []'s,
    Fabio I.

    terça-feira, 14 de maio de 2019 17:28
  • Ok, obrigado.
    terça-feira, 14 de maio de 2019 23:12