Previous Document Next Document
Document.BeginCommandGroup

Sub BeginCommandGroup([CommandName As String])

Member of Document

The BeginCommandGroup method marks the start of a group of commands. By starting a command group, you define a sequence of document handling commands that you can undo in a single step.

  • The BeginCommandGroup and EndCommandGroup commands must be used with extreme caution. If an error occurs after BeginCommandGroup but before EndCommandGroup, and the macro is terminated, the undo stack of CorelDRAW for the current document becomes corrupt. You must ensure that EndCommandGroup is always issued after BeginCommandGroup. Proper error trapping is strongly recommended.

Parameters
Description
CommandName
Specifies a string value that identifies a series of document commands in a document
This parameter is optional.

The following code example creates a flower. After the macro finishes, its result can be undone in one step; the Edit menu displays an Undo Flower item.

Sub Test() 
 Const Leaves As Long = 30 
 Const Radius As Double = 2 
 Dim stp As Double 
 Dim i As Long 
 Dim d As Document 
 Dim s As Shape 
 stp = 360 / Leaves 
 Set d = ActiveDocument 
 d.DrawingOriginX = 0 
 d.DrawingOriginY = 0 
 d.BeginCommandGroup "Flower" 
 Set s = d.ActiveLayer.CreateEllipse2(0, 0, Radius) 
 s.Fill.UniformColor.RGBAssign 100, 50, 50 
 Set s = d.ActiveLayer.CreateEllipse2(Radius + 0.5, 0, 0.5, 0.25) 
 s.Fill.UniformColor.RGBAssign 255, 255, 0 
 s.RotationCenterX = 0 
 s.RotationCenterY = 0 
 d.ApplyToDuplicate = True 
 For i = 1 To Leaves - 1 
  s.Rotate i * stp 
 Next i 
 d.EndCommandGroup 
End Sub 

You must ensure that EndCommandGroup is always issued after BeginCommandGroup. Proper error trapping, such as in the following code example, is strongly recommended.

Sub Test() 
 ActiveDocument.BeginCommandGroup "My Command" 
 On Error Goto ErrHandler 
 ' Some commands go here 
ExitSub: 
 ActiveDocument.EndCommandGroup 
 Exit Sub 
ErrHandler: 
 MsgBox "Error occured: " & Err.Description 
 Resume ExitSub 
End Sub 

Previous Document Next Document Back to Top

Copyright 2007 Corel Corporation. All rights reserved.