Wenn Sie Ihre Arbeitsschritte in der Regel aufzeichnen, interessiert es Sie wahrscheinlich, dass Sie die Geschwindigkeit der Makroausführung erhöhen können. Das ist besonders nützlich, wenn Sie Ihre Makros gleichzeitig für mehrere Objekte verwenden. 

Drücken Sie Alt+11, um den Makro-Editor zu öffnen und Ihre aufgezeichneten bzw. geschriebenen Makros zu lokalisieren (die aufgezeichneten Makros werden in der Regel unter GlobalMacros > Modules > RecordedMacros gespeichert).
Fügen Sie nun unter den Variablendeklarationen (die mit „Dim.. as.." beginnen) folgende Linien ein:
ActiveDocument.BeginCommandGroup >>Name der Aufgabe<<
Optimization = True
EventsEnabled = False
ActiveDocument.SaveSettings
ActiveDocument.PreserveSelection = False

Für den Namen der Aufgabe können Sie einen Namen wählen, der die Aufgabe beschreibt. Er wird im Rückgängig-Listenfeld Ihres derzeit offenen Dokuments mit diesem Namen angezeigt.
EventsEnabled deaktiviert alle Dokumentaktionen während der Ausführung des Makros, was in fast allen Fällen Sinn macht.
ActiveDocument.SaveSettings speichert alle aktuellen Änderungen, die Sie kürzlich an einer Form vorgenommen haben.
ActiveDocument.PreserveSelection kann optional benutzt werden: Falls die Auswahl der aktuell ausgewählten Formen nach Ausführung des Makros nicht aufgehoben werden soll, sollten Sie diese Linie auslassen. Die Ausführungsgeschwindigkeit kann jedoch weiter beschleunigt werden, wenn diese Linie in den Code eingefügt wird.

Um die Optimierung zu beenden, müssen Sie alle Deklarationen in der richtigen Reihenfolge rückgängig machen. Sie können die folgenden Linien am Ende des Verfahrens einfügen (direkt vor End Sub, Exit Sub, End Function oder Exit Function):
ActiveDocument.PreserveSelection = True
ActiveDocument.RestoreSettings
EventsEnabled = True
Optimization = False
ActiveDocument.EndCommandGroup
ActiveWindow.Refresh
Application.Refresh
Application.CorelScript.RedrawScreen

Die letzten drei Anweisungen dienen dazu, den Grafikbereich neu aufzubauen, was manchmal nötig ist. Die wichtigste Anweisung ist EndCommandGroup: Wird diese Linie vom Code nicht ausgeführt, kann die Anwendung hängen bleiben, also ist es am besten, diese Anweisung in eine separate Fehlerbehandlungsroutine einzubinden.

Tipp von Maurice Beumers, CorelDRAW-Meister, Grafikdesigner und Illustrator.