Reglas de Combinación de correspondencia: Si… Entonces… Sino

Mi «hermano» José Manuel, también de los primeros seguidores del Blog, me pregunta si existe alguna manera para personalizar la combinación de correspondencia, de manera que en las etiquetas y cartas pueda poner Señor o Señora, según se trate de un hombre o una mujer y no tener que utilizar la fea fórmula del Sr./a. Efectivamente que existe, y no solo esta, sino muchas más, utilizando las reglas de combinación de correspondencia.

Lo primero que hace falta es añadir a la base de datos un nuevo campo, de tipo booleano, llamado sexo, tratamiento o similar con dos valores: H para hombres y V para mujeres o cualesquiera otros parecidos. Una vez lo tengamos solamente queda aplicar la regla de combinación de correspondencia Si… Entonces… Sino al asignar los campos a la combinación.

Reglas de combinación de correspondencia. La cinta Correspondencia con las reglas desplegadas
El grupo Escribir e insertar campos se activa después de la asignación de los destinatarios.
Reglas de combinación de correspondencia. El cuadro de diálogo Insertar campo de Word: Si con estas especificaciones pondrá un saludo diferente según el destinatario sea hombre o mujer.
Las posibilidades de esta regla son muchas

Esta regla se puede utilizar en otras circunstancias como para añadir indicaciones. Utilizando el campo Provincia o Municipio, se puede establecer esta regla, en una carta:

Nota: Al no residir en Cartagena, el envío puede llevar unos gastos adicionales o sufrir retraso de un día.

Las posibilidades de las reglas son muchas, utilizando el resto. Pero estas las veremos en otras entradas.

Espero que te guste, sea útil, comentarios y sugerencias para nuevos temas. Sigue el blog y compártelo con tus contactos.

También puedes visitar el Curso avanzado de Word en mi canal de YouTube.

Esta entrada tiene 37 comentarios

  1. JAVIER

    Muy interesante Pepe. Tengo una duda, he visto en otras entradas como hacer correspondencia con imágenes relacionando una base de datos excel con word. Estoy haciendo un documento en el que hay partes del documento que se suprimen en función de un campo. ¿Esto se puede hacer? ¿O lo mejor es hacer dos documentos distintos para cada valor del campo?
    Pongo un ejemplo: un documento muestra información de 1 o 2 países. Si en el documento solo se va a describir un país, la parte correspondiente al 2º país no debe aparecer (apartados, texto, etc).

    Muchas gracias de antemano.

    1. Pepe Martínez

      Hola javier:
      Me alegro de que encuentres el blog útil y de que lo utilices para preguntar tus dudas sobre Word.
      Con Word se puede hacer casi todo, incluido lo que necesitas. Si no hay herramientas integradas, campos en este caso, los podemos editar y, en última instancia, hacerlo con VBA.
      Para este caso creo que podemos utilizar una de las herramientas integradas. La Regla Saltar registro si...
      Haz tu combinación normal y, al final, inserta esta regla. En nombre del campo, pon País.En Comparación: Igual a y en Comparado con: escribe el nombre del país cuyos campos no quieres que se incluyan. Saltar registro si, los saltará y solo combinará los campos pertenecientes a los demás países.
      Muchas gracias y espero seguir contando con tu apoyo y comentarios.

  2. Olga

    muy interesante, pero no encuentro la opción para modificar una regla ya creada. ¿Se puede hacer?
    Muchas gracias,
    Olga

  3. Lic Mayuma

    Como puedo condicionar para que muestre o no un campo combinado . Gracias

    1. Pepe Martínez

      Hola Lic:
      Gracias a ti también por usar mi blog.
      Si miras el ejemplo de arriba, verás que con el uso de condicionales IF se puede hacer lo que se quiera.
      Haré más entradas sobre el particular, pero te puedo adelantar:
      { IF { MERGEFIELD Localidad } = "" "" "Localidad: " }{ MERGEFIELD Localidad }
      Cuando el campo Localidad está vacío, no pone nada y cuando no está vacío pone Localidad: Nombre de la localidad.
      Sería una manera de condicionar la inclusión del campo Localidad a que tenga valor.
      Espero que te sea útil y seguir contando con tu participación.
      Gracias, de nuevo.

  4. Javier Morales

    BUENOS DÍAS, DICES: Lo primero que hace falta es añadir un nuevo campo, de tipo booleano, llamado sexo, tratamiento o similar con dos valores: H para hombres y V para mujeres o cualesquiera otros parecidos. PERO ¿CÓMO AGREGO ESE CAMPO DE SEXO?

    1. Pepe Martínez

      Hola Javier:
      Muchas gracias por usar el blog y por el comentario. Tal vez no he sido preciso. El campo hay que añadirlo o debe tenerlo incorporado, la base de datos para hacer la combinación. Si no hay un campo sexo, tratamiento etc no podemos aplicar la regla.

  5. eduardo garrido

    me gustaria saber si se pueden insetar campos de base de datos (access) dentro de un control de contenido de correspondencia de tal manaera qu una vez elegido de la lista, el cnntrol se actualice con el contenido del campo de la base de datos.

    1. Pepe Martínez

      Gracias Eduardo por usar mi blog.
      Los destinatarios pueden estar, entre otras opciones, en Access, Excel, Tablas de Word o lista de contactos de Outlook.

  6. Federico

    Buenas tardes, estoy combinando una lista de Excel donde se tiene la nómina de una empresa con más de 100 empleados, cuando hago la combinación para imprimir los sobres requiero que no imprima los que salen en ceros, uso la opción saltar registro si, escojo el campo donde está el sueldo, la opción "distinto de" y en comparado con escribo 0, 0.00, $0.00 y en ningún caso lo toma, cabe aclarar que en word el campo tiene formato con \#"$#,##0.00"} y en Excel los datos tienen formato de contablidad

    1. Pepe Martínez

      Hola Federico:
      Ante todo, agradecerte la confianza y que uses mi blog.
      Para este caso, no es necesario que te compliques con la edición de campos, puesto que puedes filtrar la lista de destinatarios desde Word, desde Editar lista de destinatarios. Ahí filtra por lo que necesites.
      Cualquier duda, comentas. Espero seguir contando contigo.

  7. Liliana

    Hola Pepe buen Día

    Acabo de ver tu blog y me parece muy bueno, estoy comenzando a utilizar los condicionales y la combinación de correspondencia, estoy aprendiendo y me gustaría por favor me ayudaras, tengo dos preguntas
    1) cuando uso el condicional If puedo llamar 2 campos combinados si se cumple o no la condición? Ej. Si ciudad es 1 entonces llamar el campo combinado de la columna municipio y de la columna departamento y si no llamar otros 2 campos combinados.
    2) Es posible llamar una tabla de excel completa como campo combinado?

    Estas son muchas gracias por tu atención , quedo muy atenta a tu respuesta

    1. Pepe Martínez

      Hola Liliana:
      Muchas gracias por usar mi blog.
      En estas entradas tienes ejemplos de lo que solicitas.
      Gracias, de nuevo, y espero seguir contando con tu seguimiento y comentarios.

  8. Liliana

    Muchas Gracias por su pronta respuesta
    Estuve revisando la información, monte la base y la formula del post que me sugirió pero no me funciona,
    { if { mergeseq } ="1" "Estimado cliente {MERGEFIELD "Cliente" } estas son las facturas y sus correspondientes albaranes que nos adeuda:
    { set Factura1 { MERGEFIELD "Factura" } } { set Alabarán1 { MERGEFIELD "Albaran" } }" ""}
    {set Cliente1{ MERGEFIELD "Cliente" } }
    { if { Cliente2 }{ Cliente1 }"
    ................Salto de página............
    Estimado cliente { MERGEFIELD "Cliente" } estas son las facturas y albaranes que nos adeuda:
    { MERGEFIELD "Factura" } {MERGEFIELD Albaran }" "{MERGEFIELD Factura } { MERGEFIELD aLBARAN }"}{ set cliente2 {MERGEFIELD Cliente }}

    esto es lo que me aparece: ( Los "enter" y estas palabras)

    Factura1 Alabran1

    Lo que yo estoy tratando de utilizar y mas o menos funciona para llamar dos campos combinados es:

    { if { MERGEFIELD "TECNICAS" } = "No" {MERGEFIELD propuesta1 \f { MERGEFIELD propuesta2 }} "igual" }

    al utilizar \f me da la posibilidad de llamar otro campo combinado, pero no se como introducir un enter entre el primer y el segundo campo combinado.

    Vi que en lo que me enviaste es como ir creando una tabla, campo a campo, que podría ser una solución a mi segunda pregunta, pero quisiera saber si hay alguna otra forma de llamar la tabla completa con margen y formato desde word sin tener que crearla de nuevo, "algo como si fuera una imagen" al cumplir una condición

    Muchas Gracias

    1. Pepe Martínez

      Hola Liliana:
      El error creo que es porque usas los nombres de mis campos de ejemplo, en vez de los tuyos.
      La tabla completa la puedes introducir en el documento base de combinación, pero no variarían los campos. Para que varíen, tienes que introducir campos de combinación.
      Puedes contactarme directamente a mi correo, jmmarz@hotmail.es, y enviarme los documentos, si tienes más dudas sobre este tema.

      1. Liliana

        Muchas Gracias Pepe, ya le he enviado un correo

  9. Fernanda

    Buenos días, necesito hacer una correspondencia combinada de etiquetas.
    En el Excel desde el que importo los datos, tengo un campo de nombre de compañía, otro de dirección social y otro de diferentes sedes de la misma. Cada compañía tiene solo una dirección social, y esa es a la que necesito enviar la carta (una por compañía). Pero cuando aplico la combinación de etiquetas, me salen los datos repetidos de la compañía con diferentes sedes (porque en Excel son diferentes líneas ya que hay una por sede, pero siempre es la misma dirección postal)
    Mi problema es que no sé como evitar esto. Intento aplicar la regla "Saltar registro si..." pero no sé especificar la condición de que si el campo dirección postal es el mismo que el anterior no combine ese registro...
    Espero que me pueda ayudar.
    Un saludo.

    1. Pepe Martínez

      Hola Fernanda:
      Encantado de intentar ayudarte y de que uses y sigas mi blog.
      Lo mejor, en este caso, sería intentar solucionar el problema en origen (Excel).
      Me puedes enviar los datos, o un ejemplo, a mi correo.

  10. JOSE SALAZAR AVIÑA

    Hola Pepe, necesito combinar correspondencia en word con dos origenes de datos distintos, dos tablas diferentes, como puedo hacerlo??? gracias

    1. Pepe Martínez

      Hola José:
      Muchas gracias por usar mi blog.
      No se puede. Word solo puede combinar, en cada documento, desde una fuente. Tienes que hacer dos combinaciones. Si los campos son los mismos, los fusionas con un copia y pega. Si los campos son diferentes, ni siquiera esto. Intenta fusionar los dos orígenes de datos en uno.
      Gracias, de nuevo, espero seguir contando con tus comentarios y seguimiento.

  11. Jose

    Hola Pepe, buenos días.
    Tengo cuatro documentos de Word escritos en cuatro idiomas y una base de datos de Excel.
    Cómo creo la combinación de documentos según el idioma de la persona, He intentado de todo pero lo máximo que consigo es hacerlo en cuatro pasos, es decir, imprimo por separado los documentos de cada idioma poniendo una regla de condición, pero luego tengo que ordenarlos todos. La idea es que se impriman consecutivamente en el orden de la base datos de excel.
    Gracias, un saludo.

    1. Pepe Martínez

      Al revés José:
      En Excel es donde debes poner, en otra columna, los textos en el idioma que corresponda a cada uno.
      Así, no necesitarás ni reglas, para este caso.
      Muchas gracias por tus comentarios, espero seguir contando con ellos.

  12. Ana

    Hola Pepe, en primer lugar muchas gracias por el blog es muy muy útil. Por otra parte quiero hacer una cosa pero no lo consigo y no se si es posible.. a ver si puedes ayudarme. trabajo en una universidad y tengo una base de datos en la que registro con un número de protocolo varios datos sobre las defensas de las tesis de la que luego tengo que hacer un informe en word, lo que quiero hacer es que poniendo el n de protocolo en word me rellene automáticamente en los sitios que indique, el nombre y apellidos del alumno, el nombre y apellidos de director, el título de la tesis... (todos estos datos los tengo registrados en un excel) ¿eso es posible?
    Muchas gracias por adelantado

  13. Raúl Pérez

    Hola Pepe:
    Agradecería tu ayuda en el siguiente caso de combinación de correspondencia.
    Tengo una vista SQL que me trae los campos a combinar en la plantilla Word de correspondencia, se trata de detallar varias facturas pendientes en una tabla insertada para cada cliente. Digamos que tengo datos de cabecera para TODO el documento y líneas de registros para la tabla insertada, para un cliente todas sus facturas. Cómo puedo hacer que no me combine por cada registro y me muestre las líneas de la tabla, una para cada factura. Gracias.

    1. Pepe Martínez

      Muchas gracias Raúl, por seguir y compartir mis canales y por tus comentarios.
      No estoy seguro de entenderte bien. Si lo que necesitas es no agrupar los registros, tienes que hacer una combinación normal, sin códigos especiales en los campos. Solo los campos normales. Al elegir los destinatarios puedes editarlos y filtrar por los que necesites (pendientes de pago).

    2. Nino Delgado

      Hola Raúl. Hola Pepe. Notable blog. Felicitaciones y gracias.
      Raúl: Pudiste resolver el problema de definir el número de filas de una tabla en forma condicional, básicamente reconociendo un campo combinado como el "número_de_filas_de_la_tabla" ?
      Gracias de antemano.!!!!

  14. Jose Miguel

    Buenas tardes. Enhorabuena por su blog. Queria hacerle una consulta:

    Estoy preparando una combinacion que me confeccione diligencias a raiz de una serie de campos con información personal de varias personas.

    El tema es que si preparo un informe de varias paginas , al combinarse me da como resultado un informe completo para cada registro. Todos consecutivos.

    Pero realmente me gustaria agrupar las partes del informe que se refiere a lo mismo, juntas. Es decir, que al menos esas páginas aparezcan consecutivas, y otras que incluso no salgan, ya que son innecesarias. No se si me estoy explicando o si es imposible. Me explico con ejemplo:

    Preparo un word con un informe, en el que e aparezcan los siguientes sub-informes en paginas separadas:
    - portada
    - datos personales
    - fotografias
    - Terminacion y remision

    Lo que me refiero, es por ejemplo, en una base de datos de 3 registros, al finalizar la combinacion aparezca:
    - portada (sin datos )
    - datos personales 1
    - datos personales 2
    - datos personales 3
    - Fotografias 1
    -Terminacion y remision ( sin datos )

    Sé que es complicado, pero hoy en día, nada es imposible.

    Muchas gracias.

  15. JONATHAN MARTINEZ CRUZ

    Buenas noches, quisiera saber si es posible utilizar las reglas de correspondencia pero con campos creados directamente en el documento, es decir creados por la pestaña insertar.. elementos rapidos...; y no tener que vincular necesariamente una base de datos de un libro externo.

    gracias de antemano, espero puesdas colaborame

    1. Pepe Martínez

      Muchas gracias, Jonathan, por seguir y compartir, con tus contactos, mis canales:
      Muy interesante tu consulta. Sí se puede hacer y aquí describen dos usos de la misma. Aunque siempre necesitas un origen de datos para la combinación. Te agradeceré me des más detalles de lo que haces o intentas hacer.

  16. GABRIELA ACUÑA

    Buenas tardes, necesito realizar la correspondencia de excel a word. pasar la información de toda la fila de excel en un formato que se repite en 6 ocasiones en el mismo archivo de word, ejemplo:
    CICLO ESCOLAR: 2022-1
    NOMBRE COMPLETO: GARZA RAMIREZ MONICA VALERIA
    MATRICULA: 2215018
    LICENCIATURA: NUTRICIÓN
    TURNO: ESCOLARIZADO
    GENERACIÓN: 5° GENERACIÓN

  17. Tamara

    Buenas tardes,
    Primeramente agradecer que exista un blog tan detallado. Por otra parte agradecer su colaboración en los foros, a través de los cuales he llegado a éste blog y me ha permitido revisar conceptos. Después de analizar varias opciones (por las respuestas que ofrece en otros blog) he llegado a la conclusión que para "mi problema" quizás es buena idea emplear un condicional pero no sé cómo plantearlo. De ahí que me ponga en contacto. Paso a describir el problema.
    Tengo una hoja de etiquetas dónde quiero combinar correspondencia desde Excel (hasta aquí lo tengo resuelto). En total tendré 3 campos, cada uno de los cuales debe ir en una fila. Para mayor comodidad y pensando que podría solucionar el tema por VBA, en cada una de las etiquetas tengo una tabla de 3 columnas (una por campo). El problema es que cuando el campo de las filas 1 y/o 2 tienen más de 19 caracteres (sé que es así por el tamaño y el estilo de la fuente que voy a emplear) se insertan en la siguiente línea (hace un salto de línea). Por lo que la el campo 3 ya no aparece (pues se queda oculto tras la siguiente etiqueta).
    Se me ocurre que si puedo utilizar un condicional boleano (cómo el del ejemplo de ésta entrada) dónde en vez de "Sexo" le indique que si el campo es superior a 19 (hasta aquí entiendo que se podría hacer) entonces me pusiera la fuente según "Autofill" en la tabla que tengo creada para ello se solucionaría el problema.
    Entonces la consulta es:
    ¿Se puede crear un condicional boleano dónde si el campo a insertar supera los 19 carácteres se pueda hacer que el contenido de la tabla sea "AUTOFILL=True" en vez de insertar un texto predefinido? (Algo cómo: if=19 Autofill=True)

    1. Pepe Martínez

      Muchas gracias, Tamara, por seguir y compartir con tus contactos mis canales y por tus amables palabras:
      Habría que verlo y supongo que se puede hacer con VBA, pero yo antes intentaría cambiar la estructura de las etiquetas, cambiando el orden o dejando más espacio.
      Si el problema es el límite de texto que soporta la combinación de correspondencia se soluciona poniendo el registro con el texto más largo el primero.

Deja una respuesta