Shape.Duplicate method (Project)
Duplicates a shape and returns a reference to the copy.
expression.Duplicate
expression A variable that represents a Shape object.
Shape
The following example uses the report created by the code example in the Shape.Apply method. The example duplicates a shape, and then rotates, horizontally flips, and selects the new shape. The horizontal offset and vertical offset of the new shape are both 12 points.
Sub DuplicateShape()
Dim theReport As Report
Dim shp1 As shape
Dim duplicatedShape As shape
Dim reportName As String
reportName = "Apply Report"
Set theReport = ActiveProject.Reports(reportName)
Set shp1 = theReport.Shapes(1)
Set duplicatedShape = shp1.Duplicate
pos1 = shp1.left
pos2 = duplicatedShape.left
Debug.Print "Horizontal offset: " & CStr(pos2 - pos1)
pos1 = shp1.top
pos2 = duplicatedShape.top
Debug.Print "Vertical offset: " & CStr(pos2 - pos1)
duplicatedShape.Rotation = 30
duplicatedShape.Flip msoFlipHorizontal
duplicatedShape.Select
End Sub
Shape Object ShapeRange.Duplicate Method
Have questions or feedback about Office VBA or this documentation? Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.