[Shape.Delete:]
Deletes a shape or shapes.
Purpose
Deletes a shape or shapes (only applicable to Word and PowerPoint input documents).
Macro Compatibility
The macro can be used in the highlighted input document types only. A greyed-out icon indicates not supported.
Usage
NOTE: not supported in Report Studio or HTML input documents. For more information on using macros in PowerPoint, see: PowerPoint help.
| Parameter | Type | Deprecation Message | Preferred Parameter | Presence | Purpose | Options | Default |
|---|---|---|---|---|---|---|---|
| String | Optional | Add a comment to make your document template more readable. The comment is discarded in the output document. | N/A | N/A | |||
| String | Optional | The condition which must be true in order for the shape(s) to be deleted. | N/A | true | |||
| Boolean | Optional | Should NCalc expression evaluation throw error on Overflow |
|
true | |||
| Boolean | Optional | Whether to throw a macro error when trying to delete a shape that was not found or does not exist. |
|
true | |||
| String | Optional | The text to display should the macro fail to execute. Note that a poorly-specified macro (e.g. omitting mandatory parameters) will still result in an error message. | N/A | N/A | |||
| String | Optional | The name of a variable to create should the macro fail to execute. The variable will be a text variable, and will contain either the failure text (only if the failureText parameter is set), otherwise it will contain the exception / failure message. | N/A | N/A | |||
| List<String> | Deprecated | ids | For Word: specify the ID or IDs of the shape to delete. If the ID is not provided, the macro must be in the main text or Alt Text of the shapes to be deleted. For PowerPoint: specify the ID or IDs of the shapes to delete (affects shapes on the current slide by default, but you can change the 'Scope' parameter). In PowerPoint, if IDs are not provided, the macro must be in the main text or Alt Text of the shapes to be deleted, but when IDs are used it can be anywhere (Notes, shape text, or Alt Text of a shape). Special case: line shapes in PowerPoint - to delete a line, you MUST set an ID in its Alt Text, and use the macro in any other non-line shape's text / Alt Text, or Notes. To edit a shape's Alt Text, right-click on the shape then choose View Alt Text to open the edit panel. NOTE: shape IDs do not need to be unique, i.e. you could set the same ID on multiple shapes, such as SHAPES_TO_DELETE. | N/A | N/A | ||
| List<String> | Use instead of:
| Optional | For Word: specify the ID or IDs of the shape to delete. If the ID is not provided, the macro must be in the main text or Alt Text of the shapes to be deleted. For PowerPoint: specify the ID or IDs of the shapes to delete (affects shapes on the current slide by default, but you can change the 'Scope' parameter). In PowerPoint, if IDs are not provided, the macro must be in the main text or Alt Text of the shapes to be deleted, but when IDs are used it can be anywhere (Notes, shape text, or Alt Text of a shape). Special case: line shapes in PowerPoint - to delete a line, you MUST set an ID in its Alt Text, and use the macro in any other non-line shape's text / Alt Text, or Notes. To edit a shape's Alt Text, right-click on the shape then choose View Alt Text to open the edit panel. NOTE: shape IDs do not need to be unique, i.e. you could set the same ID on multiple shapes, such as SHAPES_TO_DELETE. | N/A | N/A | ||
| String | Optional | The condition that must be true in order for the macro to be executed/evaluated. Must either evaluate to true or false, for example: "3+5=8" or "contains('abcd', 'z'). | N/A | true | |||
| MacroMode | Optional | The mode in which variables are stored. In the legacy mode (default for Schedules), the variable created is a string and formatted. In the normal mode (default for Report Studio), the output variable is stored as a strongly-typed object, e.g. an Int32 or a List |
|
Legacy | |||
| ObfuscationType | Optional | Obfuscation type. Use obfuscation to write reports where sensitive data is hidden. When used, ReportMagic guarantees that the same input string will map to the same output string for the whole of the report (but the next time the report runs, it will most likely map to a different value). If you use obfuscation, the property in your macro will not show up and instead, you will see a fake item of the obfuscation type chosen. |
|
None | |||
| PowerPointScopeType | Optional | Whether to delete shapes found on the current slide only, or those anywhere in the presentation. Only has an effect when the 'ids' parameter is used, as otherwise the containing shape is deleted. |
|
Slide | |||
| String | Optional | If specified, adds a warning message for this macro. This is processed as an NCalc, and the warning message will ALWAYS be present and will be the value of the evaluated NCalc expression. | N/A | N/A |
Examples (6)
Example 1:
When the macro is not inside the shape to be deleted, the 'ids' parameter of the shape(s) to delete must be set:
[Shape.Delete: ids=SHAPES_TO_DELETE]
Example 2:
It is possible to use multiple IDs using the 'ids' parameter:
[Shape.Delete: ids=SHAPES_TO_DELETE_GROUP_1;SHAPES_TO_DELETE_GROUP_2]
Example 3:
The simplest example that does not require an ID or IDs. The macro text must be inside the shape or its Alt Text, which results in the shape being deleted. Note this is not applicable to 'line' shapes:
[Shape.Delete:]
Example 4:
Delete ALL shapes on the current slide that have the ID 'DeleteMe' (the ID must set in the shape's Alt Text):
[Shape.Delete: ids=DeleteMe]
Example 5:
Delete ALL shapes in the entire presentation that have the ID 'DeleteMe' (the ID must set in the shape's Alt Text):
[Shape.Delete: ids=DeleteMe, scope=Presentation]
Example 6:
The 'if' parameter can control whether the macro executes, for example based on a previously-set variable called DeleteShape:
[String: value=true, storeAs=DeleteShape][Shape.Delete: if=`{DeleteShape}`]