Usuário com melhor resposta
Macro Abrir Documento Word

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