jueves, 7 de junio de 2012

Combinar correspondencia Word - Excel


Últimamente estamos incidiendo en temas relacionados con la conexión de Excel con el exterior. Es decir, con la importación y conexión de datos externos desde otras fuentes o tipos de archivo. En este caso, y animado por una consulta de una empresa, vamos a hacer lo contrario. Esto es, vero como otro programa (en este caso Microsoft Word) se relaciona con Excel mediante la utilidad "Combinar correspondencia".



Insistimos en que no es un tema propio de Excel, sino que la operativa se hace desde Word, pero dado el interés que despierta este tema entre el personal administrativo de multitud de empresas y entre profesionales, optamos por incluirlo en el Blog Témpora Excel.

"Combinar correspondencia" es una utilidad que incluye Word desde hace muchos años (y muchas versiones) que permite generar, desde un documento-modelo creado una única vez, un mailing a multitud de personas o empresas, sin que sea necesario escribir los nombres y direcciones de todos y cada uno de los destinatarios. Para ello, Word se conecta con Excel (también lo podría hacer con Outlook, por ejemplo) para leer una tabla y colocar los datos de cada registro en cada documento de carta (o etiquetas, sobres, etc.), de forma que queden dispuestos en un "bloque de direcciones" al uso. También es posible añadir un "Saludo inicial" personalizado a cada destinatario:


...resultando posteriormente que si en Excel hay 200 registros, en Word obtenemos 200 páginas y cada una de ellas personalizada con un saludo, el nombre del destinatario, su dirección, etc.:


Pero vayamos a la práctica:

PASO 1

Desde Word, elegimos el tipo de documento que deseamos:


Aparentemente no ocurre nada en el caso de seleccionar “Carta…”. Si hubieramos elegido “Sobre…” o “Etiquetas” hubieramos obtenido un cuadro de diálogo para seleccionar algunas opciones, entre otras, el tamaño/modelo de sobre o etiqueta:




PASO 2

Ahora debemos seleccionar los destinatarios, que en nuestro ejemplo es una tabla de Excel:


y una vez seleccionado el archivo Excel, debemos elegir la hoja donde está nuestra tabla de destinatarios:


Nuevamente, al aceptar, no ocurre aparentemente nada, pero realmente hemos “conectado” Word con la tabla de Excel.

PASO 3

En el siguiente paso, podemos filtrar y ordenar los registros desde Word (si no lo habíamos hecho ya en Excel):





PASO 4

En este cuarto paso, debemos decidir qués es lo que queremos incluir en nuestra carta. Utilizaremos los botones del grupo "Escribir e insertar campos" de la ficha "Correspondencia".
  • Botón Bloque de direcciones: Inserta el típico bloque o párrafo donde figuran el nombre, apellidos, dirección, código postal, ciudad, provincia, etc.



…. pero como vemos anteriormente, es más que posible que debamos adaptar la configuración por defecto de Word a las carácterísticas de nuestra tabla enExcel. Para ello, debemos hacer click en “Asignar campos…” (ver imagen anterior) y obtener así el siguiente cuadro para poder “emparejar” los campos que “conoce” Word” con los nombres de las columnas de nuestra tabla en Excel:


…y hacemos click en “Aceptar”, consiguiendo que ahora el bloque de direcciones esté ordenado y completo:


… y si volvemos a “Aceptar” , vemos que se ha incluido en nuestra carta la frase “bloque de direcciones” , que representa a toda la información que se vió en la ventana anterior (posteriormente, cuando acabemos el proceso, esta frase “bloque de direcciones” se sustituirá por todos los campos):



…podemos cambiarlo al lugar deseado situando el cursor antes del “bloque de direcciones” y presionando ENTER Y TAB.


  • Botón Línea de saludo: Inserta un saludo inicial a la carta, con la posiblidad de configurar la forma de éste. Vemos en el ejemplo siguiente, que se opta por un saludo informal:. 


  • Botón Campo combinado: Es una opción que nos facilita introducir, de forma individual, cualquiera de los campos de nuestra tabla en Excel en el lugar que deseemos (previamente situando el cursor en la zona deseada):

PASO 5

Llega la hora de decidir si queremos introducir alguna excepción, comentario, etc. en nuestra correspondencia, mediante reglas diseñadas por nosotros.


...por ejemplo...


y vemos el resultado...


PASO 6

Finalmente, podemos ver una presentación preliminar de todo lo hecho hasta ahora, haciendo click en el botón:


....avanzando por los distintos registros.

Por último, Finalizar y Combinar:



La opción “Editar documentos individuales” (y posteriormente la elección de “todos” o de “registro actual”) provocará la salida del modo diseño de “combinar correspondencia” y el documeto queda combinado de forma definitiva en otro archivo Word que está por guardar.

La opción “Imprimir documentos” (y posteriormente la elección de “todos” o de “registro actual”) llevará a la impresión.

La opción “Enviar mensajes de correo electrónico” preguntará el campo donde buscar los nombres de los contactos. Por ejemplo, si seleccionamos “Nombre”, buscará en nuestra libreta de direcciones todos los nombre coincidentes (preguntando en caso de discrepancias) para asignarles un correo.



Suele ocurrir que cuando combinamos datos numéricos o fechas obtengamos resultados inesperados en cuanto al formato. Es decir, en el proceso de combinar correspondencia se pierde el formato.

Si queremos solucionar este inconveniente debemos modificar la forma en la que Word muestra el dato, pero NO tenemos la posibilitar de evitar que en un principio se pierda el formato. Por lo tanto, debemos actuar después de haber hecho la combinación sobre el campo en Word.

A continuación ofrecemos el enlace donde se puede aprender a hacerlo y además, hay ejemplos de formatos numéricos y de fechas:  Modificar un campo de combinar correspondencia



José Manuel Pomares Medrano

32 comentarios:

  1. Me ayudo bastante la explicación, gracias.
    Desearía saber que otras funciones avanzadas tiene excel y como las puedo desarrollar.

    ResponderEliminar
  2. Combinación de texto es algo desde el inicio de word incluso se hacia en lotus también, ahora lo que quiero hacer es una cantidad en excel con formato de millares, punto decimal y centavos, cuando se pasa a word pierde el formato completamente, me gustaria saber si se puede conservar el formato, utilizo office 2010

    ResponderEliminar
    Respuestas
    1. Hola Crescencio:

      No se puede conservar el formato del origen de datos, pero si se puede indicar a Word que lo muestre como queramos.
      He actualizado el artículo indicando un enlace a la página de Microsoft donde se puede aprender a dar formatos en Word a los campos de "Combinar correspondencia".

      En cualquier caso, te pongo aquí el enlace también:

      http://office.microsoft.com/es-hn/word-help/codigos-de-campo-de-insercion-y-formato-en-word-2010-HA101830917.aspx#BM3

      Saludos y gracias por leernos.

      Eliminar
    2. Gracias por la respuesta tan inmediata, se los agradezco.
      El día de ayer a los 45 minutos que les envié el comentario ya había encontrado la solución, quedando así la formula que hace la aplicación del formato

      MERGEFIELD "Importe" \ NUMWORDS \# "#,##0.00"

      Al principio al importar los datos en el procedimiento "combinar correspondencia", me presentaba la cantidad sin división de millares y en los centavos me mostraba alrededor de 5 diigitos, después de agregar numwords el formato me apareció de la manera requerida.
      Mil gracias por su atención y pronta respuesta, buén blog y que tengan excelente día.
      Atentamente
      Crescencio Aragón Durán

      Eliminar
  3. Se pueden seleccionar mas de una fila de excel como si fuera un solo elemento, ejemplo, tengo en una fila los datos de un abono en determinada fecha, y en la fila siguiente tengo los datos de otro abono con una fecha diferente, puedo seleccionar ambos para una sola combinación?

    ResponderEliminar
    Respuestas
    1. Si seleccionas todo el rango y le das formato como tabla... todo ello se hará en una misma combinación.

      Un saludo

      Eliminar
  4. Hola... gracias por tomarse el tiempo de explicarlo y por responder preguntas. ¿Es posible que en lugar de imprimir cada documento en papel se guarde en un archivo con un nombre de archivo que referenciara a alguno de los campos?. Saludos y gracias.

    ResponderEliminar
    Respuestas
    1. Es muy posible que se pueda hacer lo que dices mediante macros en Word. Pero ahí no puedo ayudarte. Lo siento.
      Saludos.

      Eliminar
    2. Gracias nuevamente, seguiré intentándolo. Un saludo.

      Eliminar
  5. UNO DE LOS CAMPOS DE COMBINACION, TIENE UN CONTENIDO MUY EXTENSO Y AL COMBINAR EXCEL CON SOLO "EXPORTA" UN NUMERO LIMITADO DE PALABRAS, ALREDEDOR DE 40. ¿NO ES POSIBLE AMPLIARLO Y QUE COPIE INTEGRO EL TEXTO EXISTENTE EN LA BASE DE DATOS EXCEL?

    ResponderEliminar
    Respuestas
    1. Ya lo he solucionado. Gracias de todos modos.

      Eliminar
    2. cuentame como hiciste, a mi tambien me pasa y no se como solucionarlo

      Eliminar
  6. como combinar desde una lista existente en excel que tiene mas de 300 columnas de información.

    ResponderEliminar
    Respuestas
    1. Para combinar correspondencia, el número máximo de campos de datos es 256.
      Saludos

      Eliminar
  7. Hola yo utilizo combinar correspondencia con Word 2007 y db2, a través de un data seerver driver propio de db2 que me permite ODBC y ole, cuando utilizo el driver en Word con tablas grandes (50-200) me sale el siguiente error El registro 1 contiene muy pocos campos de datos, mientras que ara tablas pequeñas no, agradezco la ayudan que me puedan dar

    ResponderEliminar
  8. Hola quizás aquí puedo encontrar alguien que me pueda colaborar, resulta que tengo unos datos EXCEL son 9 Columnas con 200 datos, en WORD necesito crear una tabla con los mismos datos 9 Columnas y 200 Filas, lo que quiero es combinar dicha información en word desde excel pero al momento de realizar dicha combinación solo me arrastra los datos de la primera Fila si alguien desea ayudarme por favor escríbame y le envió el archivo para que me colaboren agradezco su atención y pronta respuesta

    el correo es rravadan@gmail.com

    ResponderEliminar
  9. ¡Buenos días!
    Yo lo utilizo para generar documentación para exámenes, poniendo en excel los datos de mis alumnos y en el word los modelos de los documentos y necesito insertar la foto de cada alumno. ¿Ésto se puede hacer?
    Gracias.

    ResponderEliminar
    Respuestas
    1. Gracias de todos modos. .....y otra consulta....

      Eliminar
  10. ¿Existe alguna manera de realizar lo que es "la combinacion de correspondencia" pero entre dos archivos de excel, uno como origen de datos y otro como formulario?

    ResponderEliminar
    Respuestas
    1. En este caso, sí es posible, pero no mediante algún comando que pudiera tener Excel para hacerlo de forma sencilla, sino que habría que hacer una aplicación específica para ello con programación en VBA

      Eliminar
    2. ufff, entiendo que lo de la foto. ¿Y lo de combinar varios archivos de excel para que se autorellenasen los formularios...?

      Eliminar
    3. Q mal me explico...
      A ver: Teniendo todos los datos personales (nombre, dni, fecha de nac, dirección,....) en un archivo excel como origen de datos quiero imprimir sus documentaciones para ser admitidos a realizar unos exámenes. ¿Cómo puedo hacer con ellos (los formularios en excel) lo que hago con los de formato word combinando correspondencia, para imprimir uno personalizado de cada alumno?

      Eliminar
    4. De igual forma que te he respondido antes, se debería hacer una aplicación con programación VBA.

      Eliminar
    5. De acuerdo. Muchas gracias.

      Eliminar
  11. Muy agradecido y aunque lo he usado en mi trabajo, aún queda algo por resolver y es como adjuntar en el e-mail un archivo pdf por ejemplo.
    he visto algo en macros pero no me funciona; no es suficientemente claro para mí.
    tal vez puedas recomendarme algún link donde encontrar una macro así.
    Gracias,
    Rene Balbontin

    ResponderEliminar
    Respuestas
    1. Este comentario ha sido eliminado por el autor.

      Eliminar
    2. En el siguiente enlace puedes ver código para enviar vía email un archivo Excel:

      http://www.excel-avanzado.com/11930/enviar-adjunto-email.html

      En cuanto a convertir a PDF, qui´za este ejemplo de código te sirva:

      Sub ImprimirInformeBeneficios()
      Ruta = ActiveWorkbook.Path
      ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
      Ruta & "\Informe de resultados.pdf" _
      , Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
      :=False, OpenAfterPublish:=True
      End Sub


      El código anterior genera un PDF en la misma ruta que esté el archivo Excel y además, lo abre.

      Espero te sirva.

      Saludos.

      Eliminar
  12. Buen día, de ante mano les quisiera agradecer por el tutorial de verdad que me ha sido. Mi nombre es Miguel Ángel, en mi lugar de trabajo nos pareció muy bueno implementar este método para crear documentos de manera masiva. Pero nos apareció un problema, el cual consiste en: al tomar un texto como el siguiente:
    "Productos de Descomposición Peligrosos: La descomposición térmica de este producto al exponerlo al fuego o a condiciones de alta temperatura puede generar los siguientes productos de descomposición: Óxidos de carbono y trazas de compuestos de carbono no completamente quemados. Dióxido de silicio. Formaldehído.”
    Y lo que sucede es que después de hacer la combinación de correspondencia el texto no aparece completo.
    Nos dimos cuenta que la cantidad de caracteres no es el problema porque ha reconocido textos más largos, Si lo pongo en una base de datos pequeña lo reconoce normal pero en la que tenemos solo reconoce la mitad. Probé copiando toda la información a un libro nuevo utilizando “PEGADO ESPECIAL” para perder cualquier formato que interfiera y tampoco, utilice la función “LIMPIAR” por si se tenía algo molesto y tampoco. Ya no sé qué más hacer no sé si te pudiera compartir la base de datos para que la pudieses observar. Agradezco la atención brindada y estaré al tanto frente a cualquier comentario o sugerencia.

    ResponderEliminar
  13. hola a todos, deseo saber como puedo combinar correspondencia en varios documentos de word usando una sola base de datos que también esta en word, pero al momento de combinar los distintos documentos usando la misma lista, al abrir uno de esos documentos me dice que hubo un error, que no se puede encontrar el origen de datos, me pregunto si es por utilizar la misma lista en varios documentos y como me pueden ayudar. les agradezco en el alma ayudarme con esto

    ResponderEliminar
  14. Hola que tal, lo que pasa que tengo datos en Excel, como por ejemplo: 9.5, 5.6, 7.8 y al hacer la correspondencia a Word me aparecen como: 95, 56, 78, ¿como soluciono este problema?, le agradezco.

    ResponderEliminar