Rick,
Are you working with CorelScript or VBA? You posted in the CorelScript forum while you are referring to a "macro".
If you are in VBA, have you tried the optimization settings?
Here is how you can speed things up alot:
Code:
Sub Test()
Optimization = True
EventsEnabled = False
ActiveDocument.SaveSettings
ActiveDocument.PreserveSelection = False
' Do something....
ActiveDocument.RestoreSettings
EventsEnabled = True
Optimization = False
ActiveWindow.Refresh
End Sub
Here
Opimization is the single biggest performance booster. It suppresses most of the screen updates including dockers/toolbars.
If you create/move/delete shapes a lot, then using
EventsEnabled could save you some time because you will disable event firing (VBA will not receive events like Shape_Created, etc).
Finally when working with selected shapes, by default CorelDRAW always restores the previous selection when you access shapes directly (for example, using ActivePage.Shapes(1).Move 1, 0 will store the current selection, select the first shape on the page temporarily, move the selection (single object) and then restore the selection. Sometimes you may not want to keep the original selection and you can save some execution time by suppressing this behavior by using
Document.PreserveSelection property.
I hope this helps.
However if you need this from CorelScript, then let me know, maybe I can come up with something...