Vous êtes sur la page 1sur 8

Pasar datos de Excel a Word con Macro

(Combinar Correspondencia)
En este artculo vamos a ver nuevamente cmo podemos pasar datos de Excel a Word con una
macro. Sin embargo, aunque el titulo indica que podemos usar una macro en Excel, no es
necesariamente obligatorio hacerlo. Se puede hacer directamente desde Word con una macro o
incluso manualmente.

Este artculo est relacionado con varios temas o artculos ya vistos, como ser : Impresin
Mltiple en Excel con macro (Parte 1), Impresin Mltiple en Excel con macro (Parte 2), Pasar
datos de Excel a plantilla de Word con macro, Imprimir en documento de Pdf.

En resumen lo que hacemos es imprimir de una sola vez todos los documentos creados a travs de
una plantilla de Word y con los datos tomados de una hoja de Excel. Estos datos son las variables
de la plantilla.

El elemento principal es la herramienta de Word Combinar Correspondencia y a partir de ah lo


nico que hacemos es automatizar la tarea ya sea desde Word o desde Excel.

Click en la imagen para ver el video relacionado sino a travs de este Link.
Recuerden que en el canal de YouTube ExcelminiApps estn todos los videos que son complento
del blog.

Como hacemos siempre vamos a utilizar una mini aplicacin de ejemplo para mostrar la idea.
En este caso utilizamos una plantilla de Word llamada Credencial. Y un documento de Excel
que ya habamos usado en el artculo Pasar datos de Excel a plantilla de Word con macro.
Credencial.dotx
Esta es la plantilla de la Credencial, como ven no contiene los datos. Tiene el espacio para el
nombre en la parte superior y el nombre de la jornada en la parte inferior, como ejemplo.
Pasar Datos a Excel.xlsm
Como ven es un archivo de Excel habilitada para macros segn la extensin.
Tenemos los datos de los asistentes a nuestra jornada y adems tenemos la ruta completa de la
plantilla de Word.

Esta plantilla no la podemos utilizar como esta porque necesitamos que los datos estn en forma
de lista. Entonces creamos una hoja auxiliar donde acomodamos los datos.

La hoja auxiliar no tiene formato y contiene los encabezados de cada columna o campo.
Visto los elementos principales lo que hacemos es crear una macro utilizando la funcin crear
correspondencia.
Para eso vamos a Word, abrimos la plantilla, vamos a programador y elegimos grabar macro.

Luego vamos a la solapa correspondencia , seleccionar destinatarios y luego lista existente.


Luego buscamos la ubicacin del archivo de Excel donde estaba nuestra lista auxiliar.

Lo que hizo esta accin es tomar cada encabezado de esa lista como un campo, el cual lo
podemos agregar a nuestra plantilla por lo que elegimos el campos de Nombre del Participante de
la Jornada y el Nombre de la Jornada. Como estamos grabando una macro a la vez, me muevo
con las direccio nales del teclado para acomodar los campos.
Y listo, tenemos nuestra plantilla con los datos de Excel que son variables. Arriba a la derecha
podemos ver la vista previa de cada uno pero no lo usamos para que no se grabe en la macro.

Ahora para finalizar tenemos la opcin de imprimir documento o enviar por correo. En este caso
queremos imprimir.
Antes de utilizar esta opcin debemos asegurarnos de que este predeterminada una impresora de
pdf en la lista de impresoras. Sino imprimir el documento el impresora predeterminada. Si todo
esta correcto te pedir una ubicacin para guardar el Pdf y un nombre. Luego paramos la macro.
Y tendremos el resultado esperado.

Macro1
En este caso si la macro grabada se llama macro 1, esta macro hace todo lo que hicimos
manualmente en forma automatizada con el archivo de Excel seleccionado. Si cambia el nombre
del archivo deberamos volver a crear la macro o retocar el cdigo. En este caso no
recomendable. No es necesario explorar el cdigo de la macro.
Ahora, recuerdan que tenamos un cdigo para pasar los datos de Excel a Word. Vamos a utilizar
el mismo cdigo modificado. Este cdigo crea el documento nuevo de Word a travez de la
plantilla y ejecuta nuestra macro:

----
Sub toWord()
'ExcelminiApps 2016
'Ruta de la plantilla de word
warch = Hoja1.Range("B23").Text & Hoja1.Range("B24").Text
'Con la variable siguiente definimos que vamos a trabajar con un documento de Word.
Set objWord = CreateObject("Word.Application")
objWord.Visible = True
'Creamos un documento nuevo con la plantilla
objWord.Documents.Add Template:=warch, NewTemplate:=False, DocumentType:=0
'Activa el documento de word
objWord.Activate
'Ejecutamos la macro de word
objWord.Run MacroName:="macro1"
'Cerramos la variable
Set objWord = Nothing
End Sub
---

Como ven se agrego una lnea para llamar a la macro de Word llamada macro1.
Eso es todo , cuando mediante un botn desde el archivo de Excel ejecutemos la macro toWord
nos crear nuestro documento nico con extensin PDF donde estarn volcados todos los datos.
Esto es muy interesante, prctico y rpido. Como dijimos ni siquiera es necesario crear las
macros, pueden utilizar Combinar Correspondencia directamente.
Por otro lado, sino quieren estar elegiendo manualmente la impresora predeterminada al
momento de ejecutar la macro , pueden utilizar este cdigo dentro de la macro de Excel.

-----
'Elegir impresora
With Dialogs(wdDialogFilePrintSetup)
.Printer = "Microsoft Print To Pdf"
.DoNotSetAsSysDefault = True
.Execute
End With
---

No se recomienda tocar la macro de Word aunque si tienen ganas de experimentas lo pueden


hacer y vern que funciona.
Eso es todo, esperamos les haya gustado. Sigan el blog y el canal. Pueden darle me gusta al
artculo tambin. Saludos!
-------------------------------------- FIN
Recuerden que los artculos algunas veces requieren un mayor o menor nivel de conocimiento en
ciertos temas de Excel, por ejemplo formulas avanzadas, macros o VBA, etc. Sin embargo en los
artculos se nombran todos los elementos y con esta informacin podemos hacer nuestras
pequeas investigaciones usando internet, as desarrollamos nuestro conocimiento. Por ejemplo
si utilizamos la funcin Y, que la suponemos conocida, y no sabemos qu es? podemos buscar
en internet para ver como se utiliza y cules son los componentes. Las mini aplicaciones no son
ms que la recopilacin de muchos elementos para dar forma a una nueva idea.
Pueden descargar algunos ejemplos (plantillas/templates) de la zona de Descargas. Si tienen
alguna duda o consulta pueden hacerlo a travs del formulario de contacto.
Les recomendamos que sigan el blog por alguno de los medios, mail o por redes sociales, para
recibir las actualizaciones y novedades.
xitos!

Keys:
Pasar datos de Excel a Word.
Imprimir en Pdf con macro .
Combinar Correspondencia en Word
Macros de Word y Excel.
Mail Merge.
How to Use Microsoft Word to Extract Data From Excel.

Send data from Exel to Word with macro.

Vous aimerez peut-être aussi