You are on page 1of 8

Combinar correspodencia con imgenes en Microsoft Word https://www.flopy.es/combinar-correspodencia-con-imagenes-en-microso...

Combinar correspodencia con imgenes en Microsoft Word

En entornos empresariales la funcin de combinar


correspondencia de Microsoft Word es casi imprescindible. Nos
permite, entre otras cosas, crear cientos de documentos muy
similares pero con campos personalizados, por ejemplo para
enviar cartas con el mismo contenido pero en las que slo cambia
el destinatario.

Para ello usamos un archivo en el que tenemos un listado de los elementos que
cambian en cada uno de los documentos (normalmente un archivo de excel), y un
archivo en el que combinamos las partes fijas y las que cambian (el propio
documento de word).

En mi empresa usamos esta funcionalidad habitualmente, pero necesitbamos darle


una vuelta de tuerca, ya que adems de combinar datos de texto que estaban en la
tabla de excel, necesitbamos poder insertar imgenes distintas en cada uno de los
documentos. Conseguirlo nos ha obligado investigar bastante, por un lado por la
desastrosa implementacin de esta funcionalidad en Microsoft Word y por otro lado
por la poca documentacin de calidad que hay en internet con instrucciones de
cmo hacerlo. Voy a intentar explicaros todo el proceso de la forma ms clara
posible.

Para seguir el tutorial de forma correcta os dejo este enlace con todos los archivos
que vamos a usar. Os recomiendo descomprimir todo y poner la carpeta Ejemplo
en la raz de vuestro disco duro (C:), para que los vnculos a los archivos de excel
no se rompan.

1) Creando los archivos base.


Para empezar necesitamos lo siguiente:

Una carpeta con los archivos de imagen. Intentad que tengan todos las mismas
dimensiones, o al menos la misma relacin de aspecto, y que tengan todos el
mismo formato (por ejemplo, todos JPG o todos GIF).
Un archivo de excel con los datos.
Un archivo de word en el que vamos a generar los documentos.

Es MUY IMPORTANTE que el archivo de word tenga formato de word 2003 (.doc).
El formato .docx es incompatible con lo que vamos a hacer.

Vamos a empezar creando una combinacin de correspondencia normal y corriente.


En Word 2010 nos vamos a la pestaa correspondencia, desplegamos
Seleccionar destinatarios y pinchamos en usar lista existente. Buscamos el
documento de excel con los datos y le hacemos doble click para seleccionarlo. Si
tenemos datos en la tabla adems de las imgenes, podemos ponerlos en el
documento seleccionando insertar campo combinado y luego el nombre de la
columna que queramos poner. Seleccionando el botn vista previa de resultados
podemos ver las diferentes filas del excel (pulsando en los botones de avance y
retroceso que hay al lado de ese botn).

En el ejemplo que os he dejado para descargar, en el documento 1-Archivo inicial


podis ver un archivo de word ya vinculado a un excel, que simplemente coge el
nombre y apellido de las dos primeras columnas de la tabla y los muestra en el
documento. No hay ninguna foto todava en el archivo.

1 de 8 18/7/17 11:07
Combinar correspodencia con imgenes en Microsoft Word https://www.flopy.es/combinar-correspodencia-con-imagenes-en-microso...

nombre y apellido de las dos primeras columnas de la tabla y los muestra en el


documento. No hay ninguna foto todava en el archivo.

2) Aadir fotos segn listado de excel.


En la zona dnde queramos poner la foto situamos el cursor. Pinchamos en la
pestaa insertar, pinchamos en imagen y buscamos la primera imagen en
nuestro disco. Una vez localizada, en lugar de hacerle doble click o pinchar en
insertar, debemos desplegar el botn insertar (pinchamos en un tringulo que hay
a su lado) y pinchamos en vincular al archivo. Eso aparentemente nos inserta una
foto de forma normal.

Sin embargo insertar la imagen de esta forma nos permite hacer lo siguiente: Si
fichamos en la fotografa ya insertada y luego pulsamos la combinacin de teclas
Alt+F9, vamos a ver el cdigo que corresponde a la insercin de esa fotografa. El
cdigo que obtenemos al insertar la primera foto es el siguiente:

{INCLUDEPICTURE "Fotos/a.jpg" \* MERGEFORMAT \d }

Podis verlo funcionando en el archivo 2-Con foto esttica.doc del ejemplo que os
he dejado para descargar.

2 de 8 18/7/17 11:07
Combinar correspodencia con imgenes en Microsoft Word https://www.flopy.es/combinar-correspodencia-con-imagenes-en-microso...

Si pulsamos de nuevo Alt+F9 para ver la imagen y luego en los botones de avance
y retroceso de la correspondencia, veris que esa imagen se mantiene esttica, por
lo que esto no nos sirve.

Para que las fotos cambien debemos primero hacer que el cdigo apunte a la ruta
completa de la foto. Si habis descomprimido la carpeta de ejemplos en el directorio
raz del disco C, la ruta a la primera foto sera la siguiente:

C:\Ejemplo\Fotos\a.jpg

Pero el Word para identificar la ruta correctamente nos obliga a que las barras de
directorio sean dobles, por lo que la ruta a la primera imagen sera

C:\\Ejemplo\\Fotos\\a.jpg

OJO: Si la carpeta en la que estn las imagenes es una carpeta de red, al principio
tendramos que poner cuatro barras. La ruta sera de este estilo:

\\\\Servidor\\Ejemplo\\Fotos\\a.jpg

En todo caso, con nuestro ejemplo el cdigo para insertar la primera foto sera el
siguiente:

{ INCLUDEPICTURE "C:\\Ejemplo\\Fotos\\a.jpg" \* MERGEFORMAT \d }

Pero esto nos sigue apuntando an a la primera foto y no podemos ver las
siguientes. Es ahora cuando debemos introducir la combinacin de
correspondencia. En el cdigo de la foto, borramos la letra a del nombre del
archivo (donde pone a.jpg). Dejamos el cursor dnde estaba esa letra a y en la
cinta de correspondencia pulsamos en insertar campo combinado y luego en
foto. Obtendremos algo como esto:

{ INCLUDEPICTURE "C:\\Ejemplo\\Fotos\\{ MERGEFIELD FOTO }.jpg" \*


MERGEFORMAT \d }

3 de 8 18/7/17 11:07
Combinar correspodencia con imgenes en Microsoft Word https://www.flopy.es/combinar-correspodencia-con-imagenes-en-microso...

En el excel, la columna Foto tiene los nombres de los archivos que contienen las
fotos sin la extensin. Los nombres que he puesto son del tipo a, b, c pero
podran ser de cualquier otro tipo. Lo que s que he hecho ha sido poner todas las
imgenes con el mismo tipo de archivo. Todas son .jpg, por lo que la extensin es
la misma en todos los archivos.

Es muy importante que el campo { MERGEFIELD FOTO } os lo cree la propia


combinacin de correspondencia. Si lo escribs directamente no os va a funcionar.
Tenis que aadir el campo con los botones dedicados a ello (insertar campo
combinado > Foto).

El cdigo que hemos creado lo podis ver funcionando en el archivo 3-Con fotos
que cambian. Este cdigo ya nos va a permitir cambiar entre las distintas fotos,
pero de una forma un tanto especial. Si pulsamos Alt+F9 para ver la foto y luego
pulsamos los botones de navegacin hacia adelante y hacia atrs de la
correspondencia, veremos que la foto no cambia, pero si una vez que cambiamos la
pgina de la correspondencia pinchamos encima de la foto y luego pulsamos F9,
la foto se actualiza y veremos la foto que corresponde a cada una de las filas de
nuestro excel. Adems este problema se extiende a la opcin finalizar y combinar.
Si pinchamos en ese botn y luego en editar documentos individuales y
combinamos todos los registros, obtenemos un documento de varias pginas y en
principio cada una de ellas tiene la misma foto, pero si pulsamos control+E para
seleccionar todo el documento y luego F9, tendremos las fotos actualizadas y
veremos una foto distinta en cada pgina.

Por lo que se ve, segn Microsoft esta es la forma correcta


de mostrar esas fotos. Llegados a este punto slo puedo
decir PERO QU MIERDA ES ESTO?. Cualquier
combinacin de correspondencia sin imgenes funciona a
las mil maravillas, pero cuando hago una combinacin de
correspondencia con imgenes resulta que hay que
actualizar cada vez que cambio de pgina? Bajo mi punto
de vista, este problema unido a la imposibilidad de hacer todo esto en el formato
docx hace bajar muchos puntos la seriedad del paquete office. Lo siento Bill
Gates, pero esto es una verdadera chapuza. Luego me saldr el listillo de turno
diciendo que el libreoffice es malo. Si es que

3) Arreglando la actualizacin de las imgenes.


Vamos a intentar reprimir nuestra ira y centrmonos en arreglar este desaguisado.
Podemos crear una macro de word para que cada vez que pulsemos cualquiera de
los botones de navegacin se actualicen las fotos, as que vamos a ello.

Lo primero es hacer que Microsoft Word nos permita juguetear con macros. Para
ello nos vamos a la pestaa Archivo, pinchamos en opciones, seleccionamos en
4 de 8 la izquierda Personalizar cinta de opciones y en la derecha de esa ventana, en las 18/7/17 11:07
Combinar correspodencia con imgenes en Microsoft Word https://www.flopy.es/combinar-correspodencia-con-imagenes-en-microso...

Lo primero es hacer que Microsoft Word nos permita juguetear con macros. Para
ello nos vamos a la pestaa Archivo, pinchamos en opciones, seleccionamos en
la izquierda Personalizar cinta de opciones y en la derecha de esa ventana, en las
fichas principales de personalizar la cinta de opciones marcamos la casilla de
verificacin que est junto a programador y aceptamos los cambios. Esto har que
se muestre una pestaa nueva en Word que pone programador.

Nos vamos a la pestaa programador. Para crear una macro nueva pinchamos en
el botn Macros. En nombre de la macro ponemos Actualizador. En el
desplegable llamado Macros en, pulsamos en el nombre del archivo de word (para
que la Macro vaya dentro de este archivo siempre y pueda usarla cualquier otra
persona en un equipo diferente al nuestro).

Ahora pinchamos en Crear y nos sale una pantalla grande en la que podremos
poner el cdigo de nuestra macro. El cdigo que nos sale inicialmente es el
siguiente:

Sub Actualizador()
'
' Actualizador Macro
'
'

End Sub

Vamos a borrar esas lneas y vamos a poner en su lugar este otro cdigo.
5 de 8 18/7/17 11:07
Combinar correspodencia con imgenes en Microsoft Word https://www.flopy.es/combinar-correspodencia-con-imagenes-en-microso...

Vamos a borrar esas lneas y vamos a poner en su lugar este otro cdigo.

Sub CombinarRegistroAnterior()

On Error Resume Next


ActiveDocument.MailMerge.DataSource.ActiveRecord = wdPreviousRecord
Selection.WholeStory
Selection.Fields.Update
Selection.EndKey Unit:=wdLine
On Error GoTo 0

End Sub

Sub CombinarRegistroSiguiente()
ActiveDocument.MailMerge.DataSource.ActiveRecord = wdNextRecord
Selection.WholeStory
Selection.Fields.Update
Selection.EndKey Unit:=wdLine
End Sub

Sub CombinarEnDocumento()

Dialogs(wdDialogMailMerge).Show

Selection.WholeStory
Selection.Fields.Update
Selection.HomeKey Unit:=wdLine

End Sub

Una vez pegado este cdigo, pinchamos en el botn de guardar y cerramos esa
ventana. Ahora si navegamos por las distintas pginas de la correspondencia por fin
se ven todas las fotos correctamente. Adems si nos vamos a editar documentos
individuales tambin aparecern las imgenes correctamente.

6 de 8 18/7/17 11:07
Combinar correspodencia con imgenes en Microsoft Word https://www.flopy.es/combinar-correspodencia-con-imagenes-en-microso...

Para explicarlo de forma sencilla, estas macros lo que hacen es que cada vez que
se pulsan los botones para cambiar la pgina de correspondencia, automticamente
nos pulsan en F9 para actualizar las fotos. Podis ver esta macro funcionando en
el archivo 4-Con Macro para actualizar las fotos. Con esto podramos tener
funcionando correctamente la visualizacin de las fotos. POR FIN!!!

4) Rizando el rizo: optimizando los nombres de archivo.


Dependiendo de cmo nos organicemos, puede que no tengamos que trabajar de
ms aadiendo la ltima columna a nuestro excel (la del nombre de archivo de la
foto). Podemos renombrar en este caso todas las fotos con el nombre y apellidos
del individuo. Si el nombre y apellidos de la foto coincide con el que tenemos en la
tabla de excel, podemos hacer lo siguiente (os dejo este ltimo ejemplo en la
carpeta ejemplo con fotos normalizadas).

En el cdigo de la imagen ponemos como siempre el comienzo de la ruta hasta


llegar al nombre del archivo. En el nombre del archivo quitamos el campo {
MERGEFIELD FOTO } y mediante el botn insertar campo combinado ponemos el
campo de nombre. Luego insertamos un espacio y ponemos el campo del apellido.
Nos quedara algo similar a esto:

{ INCLUDEPICTURE "C:\\Ejemplo\\Ejemplo con fotos normalizadas\\Fotos\\{


MERGEFIELD Nombre } { MERGEFIELD Apellido }.jpg" \* MERGEFORMAT \d }

As, si tenemos los campos con el nombre correcto y las fotos tambin con el
nombre correcto, nos ahorramos una columna en la hoja de excel.

7 de 8 18/7/17 11:07
Combinar correspodencia con imgenes en Microsoft Word https://www.flopy.es/combinar-correspodencia-con-imagenes-en-microso...

nombre correcto, nos ahorramos una columna en la hoja de excel.

8 de 8 18/7/17 11:07

You might also like