Deletes a shape or shapes.
Purpose
Deletes a shape or shapes (only applicable to Word and PowerPoint input documents).
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.
Behaviour (6)
| Parameter | Type | Presence | Purpose | Options | Default |
| 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 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 theObject, 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 | |
| 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 |
Output (2)
| Parameter | Type | Presence | Purpose | Options | Default |
| 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 |
General (6)
| Parameter | Type | 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 | |
| ExecutionResult | Optional | If specified, asserts the expected execution result of the macro. The macro executes normally; if the actual result matches the desired value, the result is converted to Success. If the actual result does not match, the result is converted to MacroError with a descriptive message. This is primarily used for testing and diagnostic purposes. Valid values are: Unknown, Success, MacroError, WorkerStopped, Running, Warning, NeverRun, Cancelled, Pending, Paused, SystemError, Deferred, Stopped. |
|
N/A | |
| String | Optional | If specified, asserts the expected output type of the macro result. The macro executes normally; if the actual type does not match, a macro error is generated. Requires 'storeAs', 'storeAsHidden', or 'storeFormattedValueAs' to be set for typed validation. Valid types include CLR names (e.g. Int32, Int64, Single, Double, Boolean, String, JArray, JObject) and C# keyword aliases (e.g. int, long, float, double, bool, string, uint, ulong, short, ushort, byte, sbyte, decimal, char, object). The special value 'Number' matches any numeric type. | N/A | N/A | |
| String | Optional | If specified, asserts the expected output value of the macro result. The macro executes normally; if the actual value does not match, a macro error is generated. When 'storeAs' or 'storeAsHidden' is set, the stored variable value is compared. Otherwise, the document output text is compared. | N/A | N/A | |
| List<String> | 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 | |
| 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 |
Deprecated (1)
| Parameter | Type | Preferred Parameter | Purpose | Options | Default |
| List<String> | 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 |
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}`]