Find Field Properties

Contents
[ ]

A field that is inserted using DocumentBuilder.insert_field returns a Field object. This is a facade class that provides useful methods to quickly find some properties of a field.

The following code example shows how to find the field code and field result:

Note if you are only looking for the names of merge fields in a document, then you can instead use the built-in get_field_names method.

The following code example shows how to get names of all merge fields in a document:

FAQ

  1. Q: How can I obtain the field code of a field inserted with DocumentBuilder?
    A: After inserting the field, the insert_field method returns a Field object. Call field.get_field_code() to retrieve the full field code string, which includes the field name and its switches.

  2. Q: How do I read the result (displayed text) of a field?
    A: Use the field.result property. It returns the evaluated result of the field as a string. For example, field_result = field.result.

  3. Q: What is the easiest way to list all merge field names in a document?
    A: Call doc.mail_merge.get_field_names(). It returns a list of strings containing the names of every merge field found in the document.

  4. Q: Can I differentiate between different field types (e.g., MERGEFIELD, REF, PAGE) programmatically?
    A: Yes. The field.type property returns a FieldType enumeration value. Compare it with members such as aw.fields.FieldType.FIELD_MERGE_FIELD, aw.fields.FieldType.FIELD_REF, etc., to identify the field type.

  5. Q: How can I modify a field’s code after it has been created?
    A: There is no method that replaces the whole field code. Change the field through the properties of its typed class (for example, field.as_field_merge_field().field_name) and call field.update() to re‑evaluate it, or remove the field with field.remove() and insert a new one with builder.insert_field(modified_code).