FieldMergeField

FieldMergeField class

Implementiert das MERGEFIELD-Feld.

Um mehr zu erfahren, besuchen Sie dieArbeiten mit Feldern Dokumentationsartikel.

public class FieldMergeField : Field

Eigenschaften

NameBeschreibung
DisplayResult { get; }Ruft den Text ab, der das angezeigte Feldergebnis darstellt.
End { get; }Ruft den Knoten ab, der das Feldende darstellt.
FieldName { get; set; }Ruft den Namen eines Datenfelds ab oder legt ihn fest.
FieldNameNoPrefix { get; }Gibt nur den Namen des Datenfelds zurück. Ein eventuell vorhandenes Präfix wird aus der Präfixeigenschaft entfernt.
Format { get; }Erhält eineFieldFormatObjekt, das typisierten Zugriff auf die Formatierung des Felds bietet.
IsDirty { get; set; }Ruft ab oder legt fest, ob das aktuelle Ergebnis des Felds aufgrund anderer am Dokument vorgenommener Änderungen nicht mehr korrekt (veraltet) ist.
IsLocked { get; set; }Ruft ab oder legt fest, ob das Feld gesperrt ist (das Ergebnis sollte nicht neu berechnet werden).
IsMapped { get; set; }Ruft ab oder legt fest, ob dieses Feld ein zugeordnetes Feld ist.
IsVerticalFormatting { get; set; }Ruft ab oder legt fest, ob die Zeichenkonvertierung für die vertikale Formatierung aktiviert werden soll.
LocaleId { get; set; }Ruft die LCID des Felds ab oder legt sie fest.
Result { get; set; }Ruft Text ab oder legt ihn fest, der zwischen Feldtrennzeichen und Feldende steht.
Separator { get; }Ruft den Knoten ab, der das Feldtrennzeichen darstellt. Kann seinnull .
Start { get; }Ruft den Knoten ab, der den Anfang des Felds darstellt.
TextAfter { get; set; }Ruft den Text ab oder legt ihn fest, der nach dem Feld eingefügt werden soll, wenn das Feld nicht leer ist.
TextBefore { get; set; }Ruft den Text ab oder legt ihn fest, der vor dem Feld eingefügt werden soll, wenn das Feld nicht leer ist.
override Type { get; }Ruft den Microsoft Word-Feldtyp ab.

Methoden

NameBeschreibung
GetFieldCode()Gibt Text zwischen Feldanfang und Feldtrennzeichen zurück (oder Feldende, wenn kein Trennzeichen vorhanden ist). Sowohl Feldcode als auch Feldergebnis von untergeordneten Feldern werden einbezogen.
GetFieldCode(bool)Gibt Text zwischen Feldanfang und Feldtrennzeichen zurück (oder Feldende, wenn kein Trennzeichen vorhanden ist).
Remove()Entfernt das Feld aus dem Dokument. Gibt einen Knoten direkt nach dem Feld zurück. Wenn das Ende des Felds das letzte Kind seines übergeordneten Knotens ist, wird dessen übergeordneter Absatz zurückgegeben. Wenn das Feld bereits entfernt wurde, wird zurückgegebennull .
Unlink()Führt die Feldverknüpfung aus.
Update()Führt die Feldaktualisierung durch. Wird ausgelöst, wenn das Feld bereits aktualisiert wird.
Update(bool)Führt eine Feldaktualisierung durch. Wird ausgelöst, wenn das Feld bereits aktualisiert wird.

Bemerkungen

Ruft den Namen eines Datenfelds innerhalb der Seriendruckzeichen in einem Seriendruck-Hauptdokument ab. Wenn das Hauptdokument mit der ausgewählten Datenquelle zusammengeführt wird, werden Informationen aus dem angegebenen Datenfeld anstelle des Seriendruckfelds eingefügt.

Beispiele

Zeigt, wie MERGEFIELD-Felder zum Ausführen eines Serienbriefs verwendet werden.

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

// Erstellen Sie eine Datentabelle, die als Datenquelle für Serienbriefe verwendet werden soll.
DataTable table = new DataTable("Employees");
table.Columns.Add("Courtesy Title");
table.Columns.Add("First Name");
table.Columns.Add("Last Name");
table.Rows.Add("Mr.", "John", "Doe");
table.Rows.Add("Mrs.", "Jane", "Cardholder");

// Fügen Sie ein MERGEFIELD mit einer FieldName-Eigenschaft ein, die auf den Namen einer Spalte in der Datenquelle festgelegt ist.
FieldMergeField fieldMergeField = (FieldMergeField)builder.InsertField(FieldType.FieldMergeField, true);
fieldMergeField.FieldName = "Courtesy Title";
fieldMergeField.IsMapped = true;
fieldMergeField.IsVerticalFormatting = false;

// Wir können Text vor und nach dem Wert anwenden, den dieses Feld akzeptiert, wenn die Zusammenführung stattfindet.
fieldMergeField.TextBefore = "Dear ";
fieldMergeField.TextAfter = " ";

Assert.AreEqual(" MERGEFIELD  \"Courtesy Title\" \\m \\b \"Dear \" \\f \" \"", fieldMergeField.GetFieldCode());
Assert.AreEqual(FieldType.FieldMergeField, fieldMergeField.Type);

// Fügen Sie ein weiteres MERGEFIELD für eine andere Spalte in der Datenquelle ein.
fieldMergeField = (FieldMergeField)builder.InsertField(FieldType.FieldMergeField, true);
fieldMergeField.FieldName = "Last Name";
fieldMergeField.TextAfter = ":";

doc.UpdateFields();
doc.MailMerge.Execute(table);

Assert.AreEqual("Dear Mr. Doe:\u000cDear Mrs. Cardholder:", doc.GetText().Trim());

Siehe auch