Represents a Microsoft Word document field.
A field in a Word document is a complex structure consisting of multiple nodes that include field start, field code, field separator, field result and field end. Fields can be nested, contain rich content and span multiple paragraphs or sections in a document. The Field class is a "facade" object that provides properties and methods that allow to work with a field as a single object.
The Start, Separator and End properties point to the field start, separator and end nodes of the field respectively.
The content between the field start and separator is the field code. The content between the field separator and field end is the field result. The field code typically consists of one or more Run objects that specify instructions. The processing application is expected to execute the field code to calculate the field result.
The process of calculating field results is called the field update. Aspose.Words can update field results of most of the field types in exactly the same way as Microsoft Word does it. Most notably, Aspose.Words can calculate results of even the most complex formula fields. To calculate the field result of a single field use the Update method. To update fields in the whole document use UpdateFields.
You can get the plain text version of the field code using the GetFieldCode() method. You can get and set the plain text version of the field result using the Result property. Both the field code and field result can contain complex content, such as nested fields, paragraphs, shapes, tables and in this case you might want to work with the field nodes directly if you need more control.
You do not create instances of the Field class directly. To create a new field use the InsertField() method.
Shows how to insert a field into a document using a field code.
#include <Aspose.Words.Cpp/Fields/Field.h>
Public Member Functions | |
String | get_DisplayResult () |
Gets the text that represents the displayed field result. More... | |
SharedPtr< FieldEnd > | get_End () const |
Gets the node that represents the field end. More... | |
SharedPtr< FieldEnd > | get_FieldEnd () const |
Gets the node that represents the field end. More... | |
SharedPtr< FieldStart > | get_FieldStart () const |
Gets the node that represents the start of the field. More... | |
SharedPtr< FieldFormat > | get_Format () |
Gets a FieldFormat object that provides typed access to field's formatting. More... | |
bool | get_IsDirty () |
Gets or sets whether the current result of the field is no longer correct (stale) due to other modifications made to the document. More... | |
bool | get_IsLocked () |
Gets or sets whether the field is locked (should not recalculate its result). More... | |
int32_t | get_LocaleId () |
Gets or sets the LCID of the field. More... | |
String | get_Result () |
Gets or sets text that is between the field separator and field end. More... | |
SharedPtr< FieldSeparator > | get_Separator () |
Gets the node that represents the field separator. Can be null. More... | |
SharedPtr< FieldStart > | get_Start () const |
Gets the node that represents the start of the field. More... | |
virtual FieldType | get_Type () |
Gets the Microsoft Word field type. More... | |
String | GetFieldCode () |
Returns text between field start and field separator (or field end if there is no separator). Both field code and field result of child fields are included. More... | |
String | GetFieldCode (bool includeChildFieldCodes) |
Returns text between field start and field separator (or field end if there is no separator). More... | |
virtual const TypeInfo & | GetType () const override |
virtual bool | Is (const TypeInfo &target) const override |
SharedPtr< Node > | Remove () |
Removes the field from the document. Returns a node right after the field. If the field's end is the last child of its parent node, returns its parent paragraph. If the field is already removed, returns null. More... | |
void | set_IsDirty (bool value) |
Setter for get_IsDirty. More... | |
void | set_IsLocked (bool value) |
Setter for get_IsLocked. More... | |
void | set_LocaleId (int32_t value) |
Setter for get_LocaleId. More... | |
void | set_Result (String value) |
Setter for get_Result. More... | |
bool | Unlink () |
Performs the field unlink. More... | |
void | Update () |
Performs the field update. Throws if the field is being updated already. More... | |
void | Update (bool ignoreMergeFormat) |
Performs a field update. Throws if the field is being updated already. More... | |
Static Public Member Functions | |
static const TypeInfo & | Type () |
System::String Aspose::Words::Fields::Field::get_DisplayResult | ( | ) |
Gets the text that represents the displayed field result.
Shows how to get the real text that a field displays in the document.
System::SharedPtr<Aspose::Words::Fields::FieldEnd> Aspose::Words::Fields::Field::get_End | ( | ) | const |
Gets the node that represents the field end.
Shows how to work with a collection of fields.
System::SharedPtr<Aspose::Words::Fields::FieldEnd> Aspose::Words::Fields::Field::get_FieldEnd | ( | ) | const |
Gets the node that represents the field end.
Shows how to work with a collection of fields.
System::SharedPtr<Aspose::Words::Fields::FieldStart> Aspose::Words::Fields::Field::get_FieldStart | ( | ) | const |
Gets the node that represents the start of the field.
Shows how to work with a collection of fields.
System::SharedPtr<Aspose::Words::Fields::FieldFormat> Aspose::Words::Fields::Field::get_Format | ( | ) |
Gets a FieldFormat object that provides typed access to field's formatting.
Shows how to format field results.
bool Aspose::Words::Fields::Field::get_IsDirty | ( | ) |
Gets or sets whether the current result of the field is no longer correct (stale) due to other modifications made to the document.
Shows how to use special property for updating field result.
bool Aspose::Words::Fields::Field::get_IsLocked | ( | ) |
Gets or sets whether the field is locked (should not recalculate its result).
Shows how to work with a FieldStart node.
int32_t Aspose::Words::Fields::Field::get_LocaleId | ( | ) |
Gets or sets the LCID of the field.
Shows how to insert a field and work with its locale.
System::String Aspose::Words::Fields::Field::get_Result | ( | ) |
Gets or sets text that is between the field separator and field end.
Shows how to insert a field into a document using a field code.
System::SharedPtr<Aspose::Words::Fields::FieldSeparator> Aspose::Words::Fields::Field::get_Separator | ( | ) |
Gets the node that represents the field separator. Can be null.
Shows how to work with a collection of fields.
System::SharedPtr<Aspose::Words::Fields::FieldStart> Aspose::Words::Fields::Field::get_Start | ( | ) | const |
Gets the node that represents the start of the field.
Shows how to work with a collection of fields.
|
virtual |
Gets the Microsoft Word field type.
Shows how to insert a field into a document using a field code.
Reimplemented in Aspose::Words::Fields::FieldMergeField.
System::String Aspose::Words::Fields::Field::GetFieldCode | ( | ) |
Returns text between field start and field separator (or field end if there is no separator). Both field code and field result of child fields are included.
Shows how to insert a field into a document using a field code.
Shows how to get a field's field code.
System::String Aspose::Words::Fields::Field::GetFieldCode | ( | bool | includeChildFieldCodes | ) |
Returns text between field start and field separator (or field end if there is no separator).
includeChildFieldCodes | True if child field codes should be included. |
Shows how to get a field's field code.
|
overridevirtual |
Reimplemented from System::Object.
Reimplemented in Aspose::Words::Fields::FieldXE, Aspose::Words::Fields::FieldUserName, Aspose::Words::Fields::FieldUserInitials, Aspose::Words::Fields::FieldUserAddress, Aspose::Words::Fields::FieldUnknown, Aspose::Words::Fields::FieldToc, Aspose::Words::Fields::FieldToa, Aspose::Words::Fields::FieldTitle, Aspose::Words::Fields::FieldTime, Aspose::Words::Fields::FieldTemplate, Aspose::Words::Fields::FieldTC, Aspose::Words::Fields::FieldTA, Aspose::Words::Fields::FieldSymbol, Aspose::Words::Fields::FieldSubject, Aspose::Words::Fields::FieldStyleRef, Aspose::Words::Fields::FieldSkipIf, Aspose::Words::Fields::FieldShape, Aspose::Words::Fields::FieldSet, Aspose::Words::Fields::FieldSeq, Aspose::Words::Fields::FieldSectionPages, Aspose::Words::Fields::FieldSection, Aspose::Words::Fields::FieldSaveDate, Aspose::Words::Fields::FieldRevNum, Aspose::Words::Fields::FieldRef, Aspose::Words::Fields::FieldRD, Aspose::Words::Fields::FieldQuote, Aspose::Words::Fields::FieldPrivate, Aspose::Words::Fields::FieldPrintDate, Aspose::Words::Fields::FieldPrint, Aspose::Words::Fields::FieldPageRef, Aspose::Words::Fields::FieldPage, Aspose::Words::Fields::FieldOcx, Aspose::Words::Fields::FieldNumWords, Aspose::Words::Fields::FieldNumPages, Aspose::Words::Fields::FieldNumChars, Aspose::Words::Fields::FieldNoteRef, Aspose::Words::Fields::FieldNextIf, Aspose::Words::Fields::FieldNext, Aspose::Words::Fields::FieldMergeSeq, Aspose::Words::Fields::FieldMergeRec, Aspose::Words::Fields::FieldMergeField, Aspose::Words::Fields::FieldMergeBarcode, Aspose::Words::Fields::FieldMacroButton, Aspose::Words::Fields::FieldListNum, Aspose::Words::Fields::FieldLink, Aspose::Words::Fields::FieldLastSavedBy, Aspose::Words::Fields::FieldKeywords, Aspose::Words::Fields::FieldInfo, Aspose::Words::Fields::FieldIndex, Aspose::Words::Fields::FieldIncludeText, Aspose::Words::Fields::FieldIncludePicture, Aspose::Words::Fields::FieldInclude, Aspose::Words::Fields::FieldImport, Aspose::Words::Fields::FieldIf, Aspose::Words::Fields::FieldHyperlink, Aspose::Words::Fields::FieldGreetingLine, Aspose::Words::Fields::FieldGoToButton, Aspose::Words::Fields::FieldGlossary, Aspose::Words::Fields::FieldFormula, Aspose::Words::Fields::FieldFormText, Aspose::Words::Fields::FieldFormDropDown, Aspose::Words::Fields::FieldFormCheckBox, Aspose::Words::Fields::FieldFootnoteRef, Aspose::Words::Fields::FieldFillIn, Aspose::Words::Fields::FieldFileSize, Aspose::Words::Fields::FieldFileName, Aspose::Words::Fields::FieldEQ, Aspose::Words::Fields::FieldEmbed, Aspose::Words::Fields::FieldEditTime, Aspose::Words::Fields::FieldDocVariable, Aspose::Words::Fields::FieldDocProperty, Aspose::Words::Fields::FieldDisplayBarcode, Aspose::Words::Fields::FieldDdeAuto, Aspose::Words::Fields::FieldDde, Aspose::Words::Fields::FieldDate, Aspose::Words::Fields::FieldDatabase, Aspose::Words::Fields::FieldData, Aspose::Words::Fields::FieldCreateDate, Aspose::Words::Fields::FieldCompare, Aspose::Words::Fields::FieldComments, Aspose::Words::Fields::FieldCitation, Aspose::Words::Fields::FieldBidiOutline, Aspose::Words::Fields::FieldBibliography, Aspose::Words::Fields::FieldBarcode, Aspose::Words::Fields::FieldAutoTextList, Aspose::Words::Fields::FieldAutoText, Aspose::Words::Fields::FieldAutoNumOut, Aspose::Words::Fields::FieldAutoNumLgl, Aspose::Words::Fields::FieldAutoNum, Aspose::Words::Fields::FieldAuthor, Aspose::Words::Fields::FieldAsk, Aspose::Words::Fields::FieldAdvance, Aspose::Words::Fields::FieldAddressBlock, and Aspose::Words::Fields::FieldAddIn.
|
overridevirtual |
Reimplemented from System::Object.
Reimplemented in Aspose::Words::Fields::FieldXE, Aspose::Words::Fields::FieldUserName, Aspose::Words::Fields::FieldUserInitials, Aspose::Words::Fields::FieldUserAddress, Aspose::Words::Fields::FieldUnknown, Aspose::Words::Fields::FieldToc, Aspose::Words::Fields::FieldToa, Aspose::Words::Fields::FieldTitle, Aspose::Words::Fields::FieldTime, Aspose::Words::Fields::FieldTemplate, Aspose::Words::Fields::FieldTC, Aspose::Words::Fields::FieldTA, Aspose::Words::Fields::FieldSymbol, Aspose::Words::Fields::FieldSubject, Aspose::Words::Fields::FieldStyleRef, Aspose::Words::Fields::FieldSkipIf, Aspose::Words::Fields::FieldShape, Aspose::Words::Fields::FieldSet, Aspose::Words::Fields::FieldSeq, Aspose::Words::Fields::FieldSectionPages, Aspose::Words::Fields::FieldSection, Aspose::Words::Fields::FieldSaveDate, Aspose::Words::Fields::FieldRevNum, Aspose::Words::Fields::FieldRef, Aspose::Words::Fields::FieldRD, Aspose::Words::Fields::FieldQuote, Aspose::Words::Fields::FieldPrivate, Aspose::Words::Fields::FieldPrintDate, Aspose::Words::Fields::FieldPrint, Aspose::Words::Fields::FieldPageRef, Aspose::Words::Fields::FieldPage, Aspose::Words::Fields::FieldOcx, Aspose::Words::Fields::FieldNumWords, Aspose::Words::Fields::FieldNumPages, Aspose::Words::Fields::FieldNumChars, Aspose::Words::Fields::FieldNoteRef, Aspose::Words::Fields::FieldNextIf, Aspose::Words::Fields::FieldNext, Aspose::Words::Fields::FieldMergeSeq, Aspose::Words::Fields::FieldMergeRec, Aspose::Words::Fields::FieldMergeField, Aspose::Words::Fields::FieldMergeBarcode, Aspose::Words::Fields::FieldMacroButton, Aspose::Words::Fields::FieldListNum, Aspose::Words::Fields::FieldLink, Aspose::Words::Fields::FieldLastSavedBy, Aspose::Words::Fields::FieldKeywords, Aspose::Words::Fields::FieldInfo, Aspose::Words::Fields::FieldIndex, Aspose::Words::Fields::FieldIncludeText, Aspose::Words::Fields::FieldIncludePicture, Aspose::Words::Fields::FieldInclude, Aspose::Words::Fields::FieldImport, Aspose::Words::Fields::FieldIf, Aspose::Words::Fields::FieldHyperlink, Aspose::Words::Fields::FieldGreetingLine, Aspose::Words::Fields::FieldGoToButton, Aspose::Words::Fields::FieldGlossary, Aspose::Words::Fields::FieldFormula, Aspose::Words::Fields::FieldFormText, Aspose::Words::Fields::FieldFormDropDown, Aspose::Words::Fields::FieldFormCheckBox, Aspose::Words::Fields::FieldFootnoteRef, Aspose::Words::Fields::FieldFillIn, Aspose::Words::Fields::FieldFileSize, Aspose::Words::Fields::FieldFileName, Aspose::Words::Fields::FieldEQ, Aspose::Words::Fields::FieldEmbed, Aspose::Words::Fields::FieldEditTime, Aspose::Words::Fields::FieldDocVariable, Aspose::Words::Fields::FieldDocProperty, Aspose::Words::Fields::FieldDisplayBarcode, Aspose::Words::Fields::FieldDdeAuto, Aspose::Words::Fields::FieldDde, Aspose::Words::Fields::FieldDate, Aspose::Words::Fields::FieldDatabase, Aspose::Words::Fields::FieldData, Aspose::Words::Fields::FieldCreateDate, Aspose::Words::Fields::FieldCompare, Aspose::Words::Fields::FieldComments, Aspose::Words::Fields::FieldCitation, Aspose::Words::Fields::FieldBidiOutline, Aspose::Words::Fields::FieldBibliography, Aspose::Words::Fields::FieldBarcode, Aspose::Words::Fields::FieldAutoTextList, Aspose::Words::Fields::FieldAutoText, Aspose::Words::Fields::FieldAutoNumOut, Aspose::Words::Fields::FieldAutoNumLgl, Aspose::Words::Fields::FieldAutoNum, Aspose::Words::Fields::FieldAuthor, Aspose::Words::Fields::FieldAsk, Aspose::Words::Fields::FieldAdvance, Aspose::Words::Fields::FieldAddressBlock, and Aspose::Words::Fields::FieldAddIn.
System::SharedPtr<Aspose::Words::Node> Aspose::Words::Fields::Field::Remove | ( | ) |
Removes the field from the document. Returns a node right after the field. If the field's end is the last child of its parent node, returns its parent paragraph. If the field is already removed, returns null.
Shows how to remove fields from a field collection.
Shows how to process PRIVATE fields.
void Aspose::Words::Fields::Field::set_IsDirty | ( | bool | value | ) |
Setter for Aspose::Words::Fields::Field::get_IsDirty.
void Aspose::Words::Fields::Field::set_IsLocked | ( | bool | value | ) |
Setter for Aspose::Words::Fields::Field::get_IsLocked.
void Aspose::Words::Fields::Field::set_LocaleId | ( | int32_t | value | ) |
Setter for Aspose::Words::Fields::Field::get_LocaleId.
void Aspose::Words::Fields::Field::set_Result | ( | System::String | value | ) |
Setter for Aspose::Words::Fields::Field::get_Result.
|
static |
bool Aspose::Words::Fields::Field::Unlink | ( | ) |
Performs the field unlink.
Replaces the field with its most recent result.
Some fields, such as XE (Index Entry) fields and SEQ (Sequence) fields, cannot be unlinked.
True
if the field has been unlinked, otherwise false
.Shows how to unlink a field.
void Aspose::Words::Fields::Field::Update | ( | ) |
Performs the field update. Throws if the field is being updated already.
Shows how to insert a field into a document using FieldType.
Shows how to format field results.
void Aspose::Words::Fields::Field::Update | ( | bool | ignoreMergeFormat | ) |
Performs a field update. Throws if the field is being updated already.
ignoreMergeFormat | If true then direct field result formatting is abandoned, regardless of the MERGEFORMAT switch, otherwise normal update is performed. |
Shows how to preserve or discard INCLUDEPICTURE fields when loading a document.