Aspose::Words::Fields::FieldMacroButton class
Contents
[
Hide
]FieldMacroButton class
Implements the MACROBUTTON field. To learn more, visit the Working with Fields documentation article.
class FieldMacroButton : public Aspose::Words::Fields::Field,
public Aspose::Words::Fields::IMergeFieldSurrogate
Methods
Method | Description |
---|---|
get_DisplayResult() | Gets the text that represents the displayed field result. |
get_DisplayText() | Gets or sets the text to appear as the “button” that is selected to run the macro or command. |
get_End() override | Gets the node that represents the field end. |
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_MacroName() | Gets or sets the name of the macro or command to run. |
get_Result() | Gets or sets text that is between the field separator and field end. |
get_Separator() override | Gets the node that represents the field separator. Can be null. |
get_Start() override | Gets the node that represents the start of the field. |
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_DisplayText(const System::String&) | Setter for Aspose::Words::Fields::FieldMacroButton::get_DisplayText. |
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_MacroName(const System::String&) | Setter for Aspose::Words::Fields::FieldMacroButton::get_MacroName. |
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. |
Remarks
Allows a macro or command to be run.
In Aspose.Words this field can also act as a merge field.
Examples
Shows how to use MACROBUTTON fields to allow us to run a document’s macros by clicking.
auto doc = MakeObject<Document>(MyDir + u"Macro.docm");
auto builder = MakeObject<DocumentBuilder>(doc);
ASSERT_TRUE(doc->get_HasMacros());
// Insert a MACROBUTTON field, and reference one of the document's macros by name in the MacroName property.
auto field = System::ExplicitCast<FieldMacroButton>(builder->InsertField(FieldType::FieldMacroButton, true));
field->set_MacroName(u"MyMacro");
field->set_DisplayText(String(u"Double click to run macro: ") + field->get_MacroName());
ASSERT_EQ(u" MACROBUTTON MyMacro Double click to run macro: MyMacro", field->GetFieldCode());
// Use the property to reference "ViewZoom200", a macro that ships with Microsoft Word.
// We can find all other macros via View -> Macros (dropdown) -> View Macros.
// In that menu, select "Word Commands" from the "Macros in:" drop down.
// If our document contains a custom macro with the same name as a stock macro,
// our macro will be the one that the MACROBUTTON field runs.
builder->InsertParagraph();
field = System::ExplicitCast<FieldMacroButton>(builder->InsertField(FieldType::FieldMacroButton, true));
field->set_MacroName(u"ViewZoom200");
field->set_DisplayText(String(u"Run ") + field->get_MacroName());
ASSERT_EQ(u" MACROBUTTON ViewZoom200 Run ViewZoom200", field->GetFieldCode());
// Save the document as a macro-enabled document type.
doc->Save(ArtifactsDir + u"Field.MACROBUTTON.docm");
See Also
- Class Field
- Namespace Aspose::Words::Fields
- Library Aspose.Words for C++