MailMergeSettings

MailMergeSettings class

Gibt alle Serienbriefinformationen für ein Dokument an.

Um mehr zu erfahren, besuchen Sie dieSerienbrief und Berichterstellung Dokumentationsartikel.

public class MailMergeSettings

Konstrukteure

NameBeschreibung
MailMergeSettings()Default_Constructor

Eigenschaften

NameBeschreibung
ActiveRecord { get; set; }Gibt den einbasierten Index des Datensatzes aus der Datenquelle an, der in Microsoft Word angezeigt werden soll. Der Standardwert ist 1.
AddressFieldName { get; set; }Gibt die Spalte innerhalb der Datenquelle an, die E-Mail-Adressen enthält. Der Standardwert ist eine leere Zeichenfolge.
CheckErrors { get; set; }Gibt die Art der Fehlerberichterstattung an, die von Microsoft Word beim Durchführen eines Seriendrucks durchgeführt werden soll. Der Standardwert istDefault .
ConnectString { get; set; }Gibt die Verbindungszeichenfolge an, die zum Herstellen einer Verbindung mit einer externen Datenquelle verwendet wird. Der Standardwert ist eine leere Zeichenfolge.
DataSource { get; set; }Gibt den Pfad zur Serienbrief-Datenquelle an. Der Standardwert ist eine leere Zeichenfolge.
DataType { get; set; }Gibt den Typ der Serienbrief-Datenquelle und die Methode des Datenzugriffs an. Der Standardwert istDefault .
Destination { get; set; }Gibt an, wie Microsoft Word die Ergebnisse eines Seriendrucks ausgibt. Der Standardwert istDefault .
DoNotSupressBlankLines { get; set; }Gibt an, wie eine Anwendung, die den Serienbrief ausführt, Leerzeilen in den aus dem Serienbrief resultierenden Seriendokumenten behandeln soll. Der Standardwert istFALSCH .
HeaderSource { get; set; }Gibt den Pfad zur Quelle des Serienbrief-Headers an. Der Standardwert ist eine leere Zeichenfolge.
LinkToQuery { get; set; }Da bin ich mir nicht sicher. Die Microsoft Word-Automatisierungsreferenz schlägt vor, dass dies angibt, dass die Abfrage jedes Mal ausgeführt wird, wenn das Dokument in Microsoft Word geöffnet wird. Die OOXML-Spezifikation legt jedoch nahe, dass dies angibt, dass die Abfrage einen Verweis auf eine externe Abfragedatei enthält, die die eigentliche Abfrage enthält. Der Standardwert istFALSCH .
MailAsAttachment { get; set; }Gibt an, dass die während eines Seriendruckvorgangs erstellten Dokumente als Anhang und nicht als und nicht als Text der eigentlichen E-Mail per E-Mail gesendet werden sollen. Der Standardwert istFALSCH .
MailSubject { get; set; }Gibt den Text an, der in der Betreffzeile der beim Seriendruck erstellten E-Mails oder Faxe erscheinen soll. Der Standardwert ist eine leere Zeichenfolge.
MainDocumentType { get; set; }Gibt den Typ des Serienbrief-Hauptdokuments an. Der Standardwert istDefault .
Odso { get; set; }Ruft das Objekt ab, das die ODSO-Einstellungen (Office Data Source Object) angibt, oder legt dieses fest.
Query { get; set; }Enthält die Zeichenfolge der Structured Query Language, die für die angegebene externe Datenquelle ausgeführt werden soll, um den Satz von Datensätzen zurückzugeben, die in das Dokument importiert werden sollen, wenn der Serienbriefvorgang ausgeführt wird. Der Standardwert ist eine leere Zeichenfolge.
ViewMergedData { get; set; }Gibt an, dass Microsoft Word die Daten aus der angegebenen externen Datenquelle anzeigen soll, in die Zusammenführungsfelder eingefügt wurden (z. B. Vorschau zusammengeführter Daten). Der Standardwert istFALSCH .

Methoden

NameBeschreibung
Clear()Löscht die Serienbriefeinstellungen so, dass beim Speichern des Dokuments keine Serienbriefeinstellungen gespeichert werden und es zu einem normalen Dokument wird.
Clone()Gibt einen tiefen Klon dieses Objekts zurück.

Bemerkungen

Sie können dieses Objekt verwenden, um eine Serienbrief-Datenquelle für ein Dokument anzugeben. Diese Informationen (zusammen mit den verfügbaren Datenfeldern) werden in Microsoft Word angezeigt, wenn der Benutzer dieses Dokument öffnet. Oder Sie können dieses Objekt verwenden, um Serienbriefeinstellungen abzufragen dass der Benutzer in Microsoft Word für dieses Dokument angegeben hat.

Normalerweise müssen Sie Objekte dieser Klasse nicht direkt erstellen, da die Serienbriefeinstellungen eines Dokuments immer über verfügbar sindMailMergeSettings Eigentum.

Um festzustellen, ob es sich bei diesem Dokument um ein Seriendruck-Hauptdokument handelt, prüfen Sie den Wert von .MainDocumentType Eigentum.

Um Serienbriefeinstellungen und Datenquelleninformationen aus einem Dokument zu entfernen, können Sie den Befehl verwenden.Clear Methode. Aspose.Words schreibt keine Serienbriefeinstellungen in ein Dokument, wenn dasMainDocumentType Die Eigenschaft ist auf festgelegtNotAMergeDocument oder dieDataType Die Eigenschaft ist auf festgelegtNone.

Der beste Weg, um zu lernen, wie man die Eigenschaften dieses Objekts verwendet, besteht darin, manuell in Microsoft Word ein Dokument mit einer gewünschten -Datenquelle zu erstellen, dieses Dokument dann mit Aspose.Words zu öffnen und die Eigenschaften des Objekts zu untersuchenMailMergeSettings UndOdso Objekte. Dies ist ein guter Ansatz, wenn Sie beispielsweise lernen möchten, wie Sie eine Datenquelle programmgesteuert konfigurieren.

Aspose.Words behält die Serienbriefinformationen beim Laden, Speichern und Konvertieren von Dokumenten zwischen verschiedenen Formaten bei, verwendet diese Informationen jedoch nicht, wenn es seinen eigenen Serienbrief mit dem durchführtMailMerge Objekt.

Beispiele

Zeigt, wie ein Serienbrief mit Daten aus einem Office-Datenquellenobjekt ausgeführt wird.

Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

builder.Write("Dear ");
builder.InsertField("MERGEFIELD FirstName", "<FirstName>");
builder.Write(" ");
builder.InsertField("MERGEFIELD LastName", "<LastName>");
builder.Writeln(": ");
builder.InsertField("MERGEFIELD Message", "<Message>");

// Erstellen Sie eine Datenquelle in Form einer ASCII-Datei mit dem Zeichen „|“ Charakter
// fungiert als Trennzeichen, das die Spalten trennt. Die erste Zeile enthält die Namen der drei Spalten,
// und jede nachfolgende Zeile ist eine Zeile mit ihren jeweiligen Werten.
string[] lines = { "FirstName|LastName|Message",
    "John|Doe|Hello! This message was created with Aspose Words mail merge." };
string dataSrcFilename = ArtifactsDir + "MailMerge.MailMergeSettings.DataSource.txt";

File.WriteAllLines(dataSrcFilename, lines);

MailMergeSettings settings = doc.MailMergeSettings;
settings.MainDocumentType = MailMergeMainDocumentType.MailingLabels;
settings.CheckErrors = MailMergeCheckErrors.Simulate;
settings.DataType = MailMergeDataType.Native;
settings.DataSource = dataSrcFilename;
settings.Query = "SELECT * FROM " + doc.MailMergeSettings.DataSource;
settings.LinkToQuery = true;
settings.ViewMergedData = true;

Assert.AreEqual(MailMergeDestination.Default, settings.Destination);
Assert.False(settings.DoNotSupressBlankLines);

Odso odso = settings.Odso;
odso.DataSource = dataSrcFilename;
odso.DataSourceType = OdsoDataSourceType.Text;
odso.ColumnDelimiter = '|';
odso.FirstRowContainsColumnNames = true;

Assert.AreNotSame(odso, odso.Clone());
Assert.AreNotSame(settings, settings.Clone());

 // Beim Öffnen dieses Dokuments in Microsoft Word wird der Serienbrief ausgeführt, bevor der Inhalt angezeigt wird.
doc.Save(ArtifactsDir + "MailMerge.MailMergeSettings.docx");

Siehe auch