get_field_names method
get_field_names()
Returns a collection of mail merge field names available in the document.
def get_field_names(self):
...
Remarks
Returns full merge field names including optional prefix. Does not eliminate duplicate field names.
A new string array is created on every call.
Includes “mustache” field names if MailMerge.use_non_merge_fields is True
.
Examples
Shows how to get names of all merge fields in a document.
doc = aw.Document()
builder = aw.DocumentBuilder(doc)
builder.insert_field(" MERGEFIELD FirstName ")
builder.write(" ")
builder.insert_field(" MERGEFIELD LastName ")
builder.insert_paragraph()
builder.insert_field(" MERGEFIELD City ")
data_table = DataTable("MyTable")
data_table.columns.add("FirstName")
data_table.columns.add("LastName")
data_table.columns.add("City")
data_table.rows.add(["John", "Doe", "New York"])
data_table.rows.add(["Joe", "Bloggs", "Washington"])
# For every MERGEFIELD name in the document, ensure that the data table contains a column
# with the same name, and then execute the mail merge.
field_names = doc.mail_merge.get_field_names()
self.assertEqual(3, len(field_names))
for field_name in field_names:
self.assertTrue(data_table.columns.contains(field_name))
doc.mail_merge.execute(data_table)
See Also
- module aspose.words.mailmerging
- class MailMerge