4
respostas

VBA word e excel

Boa noite! É possível criar um código que integre o excel com o word. Gostaria de imprimir um documento word página por página, nomeando de acordo com células do excel.

4 respostas

Olá Stephanie, td bem?

Sim é possível!

No curso “Curso Excel VBA 3: Criando conexão com o Outllok Application” Você aprende a relação do Excel com OBJETOS externos como o Word por exemplo.

Basicamente consiste em determinar o Word como objeto ... Estes comandos por exemplo, permitem trabalhar com o Word

Set ObjWord = CreateObject("Word.Application")
ObjWord.Visible = True

Depois é preciso criar os códigos que relacionam as colunas (os dados do Excel) com o documento do Word que você abrir. Não é complicado, mas aprendendo VBA vc conseguirá tranquilamente.

Qq coisa mais Fique a vontade para falar com a gente aqui pelo Fórum. Bons estudos

Equipe do Prof. Sabino

Obrigada! Mas então, tem uma coisa que eu não achei no curso e não estou conseguindo rodar. Eu tenho um arquivo em excel, com os nomes que darão nome ao word, e esse word tem várias páginas, o que eu quero é imprimir página a página do arquivo word com o nome que está linha a linha no meu arquivo excel. Como eu faço isso ?

Olá Stephanie,

existem algumas maneiras de relacionar o Excel com o Word. Além dos comandos que falei tem esses que permitem alterar um dado no Word através dos dados do Excel:

Comando “.find.text” Comando “.find.replacement.text” Comando “.find.execute replace:”

Você faria um laço de repetição com algo mais ou menos assim:

Do While (SuaListaNoExcel) <> vbNullString

NomeSeuArquivoWord.Find.Text = "exemplo" NomeSeuArquivoWord.Find.Replacement.Text = Cells(ContaLinhas, 1).Value NomeSeuArquivoWord.Find.Execute Replace:=wdReplaceAll ContaLinhas = ContaLinhas + 1 Loop

Mas certo de que talvez precise entender melhor sua demanda. E talvez ideal fosse usar o Word VBA

Qq coisa mais Fique a vontade para falar com a gente aqui pelo Fórum. Bons estudos

Equipe do Prof. Sabino

Consegui resolver, e o melhor era usar mesmo o Word VBA. Obrigada!