多种对象![]() ![]() ![]() |
该集合代表画布上的图形。
使用 Shape 或 ShapeRange 对象的 CanvasItems 属性可返回一个 CanvasShapes 集合。若要在画布上添加图形,可使用 CanvasShapes 集合的下列方法:AddCallout、AddConnector、AddCurve、AddLabel、AddLine、AddPicture、AddPolyline、AddShape、AddTextbox、AddTextEffect 或 BuildFreeForm。下列示例在活动文档中添加画布,然后在画布上添加三个图形。
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 为名称或索引序号。下列示例设置 Line 和 Fill 属性,并垂直翻转画布中的第三个图形。
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 属性。