Macros


You can save time by using a macro to automate a series of repetitive tasks. A macro lets you specify a sequence of actions so that you can quickly repeat those actions later.

You don’t need any programming experience to use macros — in fact, the basic tools for working with macros are available within the main application window. However, if you want to have more control over your macros, you can use the following built-in programming environments:

Microsoft Visual Studio Tools for Applications (VSTA) — the successor to VBA, and an excellent choice for developers and other programming experts. VSTA provides the tools and features that you need to create the most advanced macro projects.
Microsoft Visual Basic for Applications (VBA) — a subset of the Microsoft Visual Basic (VB) programming environment, and an excellent choice for beginners. You can use VBA to create basic macros for personal use, but you can also use it to create more advanced macro projects.

*

For detailed information on the differences between VBA and VSTA, please see the programming guide on the Developer area on the CorelDRAW community website.

Getting started with macros

The macro features for VBA and VSTA are installed with the software by default, but you can manually install these features if necessary. You can specify options for the VBA feature.

*

To use VSTA macro features with Corel PHOTO-PAINT, you must have Microsoft Visual Studio 2019 installed. To use the VSTA Editor, you must first install Microsoft Visual Studio 2019, Community, Professional, Premium, Ultimate or Enterprise Edition; and then reinstall Microsoft Visual Studio Tools for Applications 2019 from microsoft.com.

If you install Microsoft Visual Studio after installing CorelDRAW Graphics Suite, you must re-install the VSTA macro features by modifying your CorelDRAW Graphics Suite installation. For more information, see To manually install the macro features.

The macro features provide several tools for working with macros in the main application window:

Macros toolbar — provides easy access to common macro functions
Scripts docker — provides easy access to all available macro projects for VBA, and to basic functions for working with those projects
Script Editor (formerly the Visual Basic Editor) — provides advanced functions for creating VBA-based macro projects
Visual Studio Editor — provides advanced functions for creating VSTA-based macro projects. The VSTA Editor is accessible only if you have Microsoft Visual Studio 2019 installed.

Creating macros

Macros are stored in modules (also called "code modules"), which are stored in macro projects. The Scripts docker lets you view and manage all of the macro projects, modules, and macros that are available to you.

You can use the Scripts docker to create macro projects in the form of Global Macro Storage (GMS) files or Corel VSTA Projects (CGSaddon). Using such files is an excellent way to bundle the components of your macro project for sharing with others. You can use the Scripts docker to open (or "load") the macro projects that you create, as well as the macro projects that install with the software or that are otherwise made available to you. You can also use the Scripts docker to rename macro projects, as well as to copy and close (or "unload") GMS-based and VSTA macro projects.

*

Some macro projects are locked and cannot be modified.

*

When you create a document, a macro project for that document is automatically added to the Scripts docker. Although you can store macros within the macro project for a document — for example, to create an all-in-one template — it is recommended that you instead use GMS files to store your macro projects.

Each macro project contains at least one module. You can use the Scripts docker to add a module to a VBA-based macro project, or to open existing modules for editing. You can also use the Scripts docker to rename or delete VBA modules.

*

The editing feature is disabled for some modules.

Finally, you can use the Scripts docker to create macros within the available modules. You don’t need any programming experience to create macros; however, if you have programming experience and want to edit VBA macros, you can do so by using the Script Editor. You can also use the Scripts docker to rename and delete VBA macros.

Playing macros

You can perform the actions that are associated with a macro by playing that macro.

Learning more about macros

The Developer area on the CorelDRAW community website can help you with its wealth of useful resources: a programming guide, detailed Object Model reference documentation with code samples, object model diagrams, and in-depth programming articles and tutorials.

The Object Model reference documentation, also referred to as API documentation, includes help on every feature and function that can be automated in the applications. (Collectively, these features and functions are called an "object model.") You can easily access relevant documentation from within the Script Editor.

The Object Model diagrams provide a hierarchical representation of the features and functions that can be automated in CorelDRAW, Corel PHOTO-PAINT, and Corel DESIGNER.

*

For more detailed information about VBA and its programming environment, please consult the Microsoft Visual Basic Help from the Help menu in the Script Editor.

For more detailed information about VSTA and its programming environment, please consult the Help menu in the VSTA Editor.

To manually install the macro features

Back to Top
1 On the Windows Control Panel, click Uninstall a program.
2 Double-click CorelDRAW Graphics Suite on the Uninstall or change a program page.
3 Enable the Modify option in the wizard that appears, and follow the instructions.
4 On the Features page of the installation wizard, enable the following check boxes in the Utilities list box:
Visual Basic for Applications
Visual Studio Tools for Applications

*

The macro features for VBA and VSTA are installed with the software by default.

To specify VBA options

Back to Top
1 Click Tools Options Corel PHOTO-PAINT.
2 Click VBA.
3 In the Security area, specify how to control the risk of running malicious macros by clicking Security Options.
If you want to bypass this security feature, enable the Trust all installed GMS modules check box, and then proceed to step 6.
4 On the Security level page of the Security dialog box, enable one of the following options:
Very high — allows only macros installed in trusted locations to run. All other signed and unsigned macros are disabled.
High — allows only signed macros from trusted sources to run. Unsigned macros are automatically disabled.
Medium — lets you choose which macros run, even if they are potentially harmful
Low (not recommended) — allows all potentially unsafe macros to run. Enable this setting if you have virus-scanning software installed, or if you check the safety of all documents that you open.
5 On the Trusted publishers page of the Security dialog box, review which macro publishers are trusted. Click View to display details on the selected macro publisher, or click Remove to delete the selected macro publisher from the list.
If desired, you can enable or disable the Trust access to Visual Basic project check box for the selected macro publisher.
6 Disable the Delay load VBA check box if you want to load the VBA feature at start-up.

To access the macro tools

Back to Top

 

To
Do the following
Display the Macros toolbar
Click Window Toolbars Macros.
A check mark next to the command indicates that the toolbar is displayed.
Display the Scripts docker
Click Tools Scripts Scripts.
Display the Script Editor
Do one of the following:
Click Tools Scripts Script Editor.
Click the Script Editor button on the Macros toolbar.
Right-click Visual Basic for Applications in the Scripts docker, and then click Show IDE.
Display the Visual Studio Editor
Click Tools Scripts Visual Studio Editor. (VSTA must be installed on your computer.)

To create a macro project

Back to Top
In the Scripts docker, do one of the following:
Click Visual Studio Tools for Applications in the list, click New, and then click New macro project.
Click Visual Basic for Applications in the list, click New, and then click New macro project.

 

You can also
Open (or "load") a macro project
Do one of the following:
Click Visual Studio Tools for Applications in the list, click Load, and then choose the project.
Click Visual Basic for Applications in the list, click Load, and then choose the project.
Rename a macro project
Right-click the project in the list, and then click Rename.
Copy a GMS-based macro project
Right-click the project in the list, click Copy to, and then choose the target location for the copied project.
You cannot copy a document-based macro project. Such projects are stored within a document and cannot be managed separately from that document.
Display or hide all modules in the list
Click the Simple mode button .
Add a module to a VBA macro project
Do one of the following:
Click the project in the list, click New, and then click New module.
Right-click the project in the list, and then click New module.
Edit a module in a VBA macro project
Do one of the following:
Click the module in the list, and then click the Edit button .
Right-click the module in the list, and then click Edit.
Rename a module in a macro project
Right-click the module in the list, and then click Rename.
Delete a module from a macro project
Do one of the following:
Click the module in the list, and then click the Delete button .
Right-click the module in the list, and then click Delete.
Close (or "unload") a GMS-based macro project
Right-click the macro project in the list, and then click Unload macro project.
You can close a document-based macro project only by closing the document in which it is stored.

*

Some macro projects are locked and cannot be modified.

To create a macro

Back to Top
In the Scripts docker, do one of the following:
Click the container you want, click New, and then click New macro.
Right-click the desired container module, and then click New macro.

 

You can also
Edit a macro
Do one of the following:
Click the macro in the list, and then click the Edit button .
Right-click the macro in the list, and then click Edit.
Delete a macro
Do one of the following:
Click the macro in the list, and then click the Delete button .
Right-click the macro in the list, and then click Delete.

*

Some macro projects are locked and cannot be modified.

To play a macro

Back to Top
Do any of the following:
Click Tools Scripts Run Script, or click the Run macro button on the Macros toolbar. From the Macros in list box, choose the project or file in which the macro is stored. From the Macro name list, choose the macro. Click Run.
In the Scripts docker, double-click the macro in the list.
In the Scripts docker, click the macro in the list, and then click the Run button .
In the Scripts docker, right-click the macro in the list, and then click Run.

To access Object Model reference documentation from within the Script Editor

Back to Top
1 While in Microsoft Visual Basic for Applications, press F2 to display the Object Browser.
The Object Browser displays all the features and functions that can be automated in the Script Editor.
2 Choose PHOTOPAINT from the Library list box.
The Object Browser is updated to display only the features and functions of Corel PHOTO-PAINT that can be automated in the Macro Editor. Collectively, these features and functions are called an "object model."
3 Click an item in the Object Browser, and press F1.

*

You can also display information for any item in the Code window of the Script Editor by clicking that item and pressing F1.

Was this page helpful? Send feedback.


Some features documented in the Help are available exclusively to subscribers. For more information about CorelDRAW subscription, visit coreldraw.com.