Aspose::Words::Fields::FieldFillIn class
Contents
[
Hide
]FieldFillIn class
Implements the FILLIN field. To learn more, visit the Working with Fields documentation article.
class FieldFillIn : public Aspose::Words::Fields::Field,
public Aspose::Words::Fields::IFieldCodeTokenInfoProvider
Methods
Method | Description |
---|---|
get_DefaultResponse() | Gets or sets default user response (initial value contained in the prompt window). |
get_DisplayResult() | Gets the text that represents the displayed field result. |
get_End() const | Gets the node that represents the field end. |
get_FieldEnd() const | Gets the node that represents the field end. |
get_FieldStart() const | Gets the node that represents the start of the field. |
get_Format() | Gets a FieldFormat object that provides typed access to field’s formatting. |
get_IsDirty() | Gets whether the current result of the field is no longer correct (stale) due to other modifications made to the document. |
get_IsLocked() | Gets or sets whether the field is locked (should not recalculate its result). |
get_LocaleId() | Gets or sets the LCID of the field. |
get_PromptOnceOnMailMerge() | Gets or sets whether the user response should be recieved once per a mail merge operation. |
get_PromptText() | Gets or sets the prompt text (the title of the prompt window). |
get_Result() | Gets or sets text that is between the field separator and field end. |
get_Separator() | Gets the node that represents the field separator. Can be null. |
get_Start() const | Gets the node that represents the start of the field. |
virtual get_Type() const | Gets the Microsoft Word field type. |
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. |
GetFieldCode(bool) | Returns text between field start and field separator (or field end if there is no separator). |
GetType() const override | |
Is(const System::TypeInfo&) const override | |
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. |
set_DefaultResponse(const System::String&) | Setter for Aspose::Words::Fields::FieldFillIn::get_DefaultResponse. |
set_IsDirty(bool) | Sets whether the current result of the field is no longer correct (stale) due to other modifications made to the document. |
set_IsLocked(bool) | Setter for Aspose::Words::Fields::Field::get_IsLocked. |
set_LocaleId(int32_t) | Setter for Aspose::Words::Fields::Field::get_LocaleId. |
set_PromptOnceOnMailMerge(bool) | Setter for Aspose::Words::Fields::FieldFillIn::get_PromptOnceOnMailMerge. |
set_PromptText(const System::String&) | Setter for Aspose::Words::Fields::FieldFillIn::get_PromptText. |
set_Result(const System::String&) | Setter for Aspose::Words::Fields::Field::get_Result. |
static Type() | |
Unlink() | Performs the field unlink. |
Update() | Performs the field update. Throws if the field is being updated already. |
Update(bool) | Performs a field update. Throws if the field is being updated already. |
Examples
Shows how to use the FILLIN field to prompt the user for a response.
void FieldFillIn_()
{
auto doc = MakeObject<Document>();
auto builder = MakeObject<DocumentBuilder>(doc);
// Insert a FILLIN field. When we manually update this field in Microsoft Word,
// it will prompt us to enter a response. The field will then display the response as text.
auto field = System::ExplicitCast<FieldFillIn>(builder->InsertField(FieldType::FieldFillIn, true));
field->set_PromptText(u"Please enter a response:");
field->set_DefaultResponse(u"A default response.");
// We can also use these fields to ask the user for a unique response for each page
// created during a mail merge done using Microsoft Word.
field->set_PromptOnceOnMailMerge(true);
ASSERT_EQ(u" FILLIN \"Please enter a response:\" \\d \"A default response.\" \\o", field->GetFieldCode());
auto mergeField = System::ExplicitCast<FieldMergeField>(builder->InsertField(FieldType::FieldMergeField, true));
mergeField->set_FieldName(u"MergeField");
// If we perform a mail merge programmatically, we can use a custom prompt respondent
// to automatically edit responses for FILLIN fields that the mail merge encounters.
doc->get_FieldOptions()->set_UserPromptRespondent(MakeObject<ExField::PromptRespondent>());
doc->get_MailMerge()->Execute(MakeArray<String>({u"MergeField"}), MakeArray<SharedPtr<System::Object>>({System::ObjectExt::Box<String>(u"")}));
doc->UpdateFields();
doc->Save(ArtifactsDir + u"Field.FILLIN.docx");
}
class PromptRespondent : public IFieldUserPromptRespondent
{
public:
String Respond(String promptText, String defaultResponse) override
{
return String(u"Response modified by PromptRespondent. ") + defaultResponse;
}
};
See Also
- Class Field
- Namespace Aspose::Words::Fields
- Library Aspose.Words for C++