多种对象
多种对象
该集合代表画布上的图形。
使用 CanvasShapes集合使用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属性。