CanvasShapes 集合

         
多种对象
CanvasShapes
多种对象

该集合代表画布上的图形。

使用 CanvasShapes 集合

使用 ShapeShapeRange 对象的 CanvasItems 属性可返回一个 CanvasShapes 集合。若要在画布上添加图形,可使用 CanvasShapes 集合的下列方法:AddCalloutAddConnectorAddCurveAddLabelAddLineAddPictureAddPolylineAddShapeAddTextboxAddTextEffectBuildFreeForm。下列示例在活动文档中添加画布,然后在画布上添加三个图形。

Sub AddCanvasShapes()
    Dim shpCanvas As Shape
    Dim shpCanvasShapes As CanvasShapes
    Dim shpCnvItem As Shape

    'Adds a new canvas to the document
    Set shpCanvas = ActiveDocument.Shapes _
        .AddCanvas(Left:=100, Top:=75, _
        Width:=50, Height:=75)
    Set shpCanvasShapes = shpCanvas.CanvasItems

    'Adds shapes to the CanvasShapes collection
    With shpCanvasShapes
        .AddShape Type:=msoShapeRectangle, _
            Left:=0, Top:=0, Width:=50, Height:=50
        .AddShape Type:=msoShapeOval, _
            Left:=5, Top:=5, Width:=40, Height:=40
        .AddShape Type:=msoShapeIsoscelesTriangle, _
            Left:=0, Top:=25, Width:=50, Height:=50
    End With
End Sub

使用 CanvasItems(index) 可返回 CanvasShapes 集合中单独的图形,其中 index 为名称或索引序号。下列示例设置 LineFill 属性,并垂直翻转画布中的第三个图形。

Sub CanvasShapeThree()
    With ActiveDocument.Shapes(1).CanvasItems(3)
        .Line.ForeColor.RGB = RGB(50, 0, 255)
        .Fill.ForeColor.RGB = RGB(50, 0, 255)
        .Flip msoFlipVertical
    End With
End Sub

创建图形时将为其指定默认的名称。例如,如果在文档中添加三个不同的图形,他们可能分别命名为“矩形 2”、“文本框 3”和“椭圆 4”。若要引用图形的默认名称或为其指定一个更有意义的名称,请使用 Name 属性。