---
title: "Mail Merge con regiones en C++"
---


Puede crear diferentes regiones en su plantilla para tener áreas especiales que simplemente puede completar con sus datos. Use el Mail Merge con regiones si desea insertar tablas, filas con datos repetidos para hacer que sus documentos crezcan dinámicamente especificando esas regiones dentro de su plantilla.

Puede crear regiones anidadas (secundarias), así como fusionar regiones. La principal ventaja de usar este tipo es aumentar dinámicamente las partes dentro de un documento. Consulte más detalles en el siguiente artículo "Anidado Mail Merge con regiones".

{{% alert color="primary" %}}

La información sobre una región Mail Merge se puede obtener utilizando la clase [MailMergeRegionInfo](https://reference.aspose.com/words/cpp/aspose.words.mailmerging/mailmergeregioninfo/).

{{% /alert %}}

## Cómo ejecutar Mail Merge con Regiones

Una región Mail Merge es una parte específica dentro de un documento que tiene un punto inicial y un punto final. Ambos puntos se representan como Mail Merge campos que tienen nombres específicos *"TableStart:XXX"* y *"TableEnd:XXX"*. Todo el contenido incluido en una región Mail Merge se repetirá automáticamente para cada registro de la fuente de datos.

Aspose.Words le permite ejecutar Mail Merge con regiones utilizando uno de los [ExecuteWithRegions](https://reference.aspose.com/words/cpp/aspose.words.mailmerging/mailmerge/executewithregions/) métodos que aceptan [IMailMergeDataSource](https://reference.aspose.com/words/cpp/aspose.words.mailmerging/imailmergedatasource/) fuente de datos personalizada.

El siguiente ejemplo de código muestra cómo ejecutar Mail Merge con regiones de la base de datos sqlite con [SQLiteCpp](https://github.com/SRombauts/SQLiteCpp):

{{< gist "aspose-words-gists" "3435df005db9907ec9ba3a6b777ae6fb" "nested-mail-merge.h" >}}

Puede notar la diferencia entre el documento antes de ejecutar Mail Merge con regiones:

<img src="execute-mail-merge-with-regions-1.png" alt="mail_merge_with_regions_template" style="width:850px"/>

Y después de ejecutar Mail Merge con regiones:

<img src="execute-mail-merge-with-regions-2.png" alt="mail_merge_with_regions_execute" style="width:850px"/>

## Limitaciones de Mail Merge con regiones

Hay algunos puntos importantes que debe tener en cuenta al realizar un Mail Merge con regiones:

* El punto inicial *TableStart:Orders* y el punto final *TableEnd:Orders* deben estar en la misma fila o celda. Por ejemplo, si inicia una región de combinación en una celda de una tabla, debe finalizar la región de combinación en la misma fila que la primera celda.
  El nombre del campo de combinación debe coincidir con el nombre de la columna en su DataTable. A menos que especifique campos asignados, Mail Merge con regiones no tendrá éxito para ningún campo de combinación que tenga un nombre que no sea el nombre de la columna.
* Aspose.Words para C++ solo admite fuentes de datos basadas en [IMailMergeDataSource](https://reference.aspose.com/words/cpp/aspose.words.mailmerging/imailmergedatasource/) y [IMailMergeDataSourceRoot](https://reference.aspose.com/words/cpp/aspose.words.mailmerging/imailmergedatasourceroot/). A diferencia de .NET y Java, C++ no tiene una multiplataforma API generalmente aceptada para trabajar con bases de datos (como ADODB, ODBC o JDBC). Para trabajar con una fuente de datos específica, debe implementar la interfaz [IMailMergeDataSource](https://reference.aspose.com/words/cpp/aspose.words.mailmerging/imailmergedatasource/) o [IMailMergeDataSourceRoot](https://reference.aspose.com/words/cpp/aspose.words.mailmerging/imailmergedatasourceroot/).

Si se rompe una de estas reglas, obtendrá resultados inesperados o se puede lanzar una excepción.

{{% alert color="primary" %}}

Si no usa Mail Merge regiones, será similar a Microsoft Word Mail Merge y todo el contenido del documento se repetirá para cada registro en la fuente de datos.

{{% /alert %}}

