Skip to content

Shape (对象)

代表绘图层中的对象,例如自选图形、任意多边形、OLE 对象或图片。

说明

Shape 对象是 Shapes 集合的成员。 Shapes 集合包含某个工作簿中的所有形状。

**注释:**有三个代表形状的对象: Shapes 集合,它代表工作簿中所有的形状; ShapeRange 集合,它代表工作簿中形状的指定子集(例如, ShapeRange 对象可以代表工作簿中的形状一和形状四,或者,可以代表工作簿中所有选定的形状); Shape 对象,它代表文档中的某一个形状。如果您需要同时处理几个形状,或处理选定区域中的多个形状,请使用 ShapeRange 集合。

以下各节说明了如何使用 Shape 对象:

  • 返回与连接符的端点相连的形状。
  • 返回新建的任意多边形。
  • 返回组中的单个形状。
  • 返回新组成的形状组。
  • 返回现有的形状。
  • 返回选定区域中的形状。

1.返回与连接符的端点相连的形状

要返回一个代表连接符所连接形状之一的 Shape 对象,请使用 BeginConnectedShapeEndConnectedShape 属性。

2. 返回新建的任意多边形

使用 BuildFreeformAddNodes 方法可定义一个新任意多边形的几何特性,使用 ConvertToShape 方法可创建任意多边形并返回代表它的 Shape 对象。

3. 返回组中的单个形状

使用 GroupItems(index )(其中 index 是形状的名称或组中的索引号)可返回一个代表一组形状中某一形状的 Shape 对象。

4. 返回新组成的形状组

使用 GroupRegroup 方法可将一系列形状分成一组并返回一个 Shape 对象,该对象代表新形成的组。在形成了一个组之后,您可以按您处理其他任何形状的方法来处理该组

5. 返回现有的形状

使用 Shapes(index )(其中 index 是形状名称或索引号)可返回代表某个形状的 Shape 对象。

6. 返回选定区域中的形状

使用 Selection.ShapeRange(index)(其中 index 是形状名称或索引号)可返回一个代表选定区域中的形状的 Shape 对象。

示例

javascript
/*本示例将第一张工作表中形状一和名为“Rectangle 1”的形状进行水平翻转。*/
function test() {
    let shapes = Application.Worksheets.Item(1).Shapes
    shapes.Item(1).Flip(msoFlipHorizontal)
    shapes.Item("Rectangle 1").Flip(msoFlipHorizontal)
}

每个添加到 Shapes 集合的形状将被分配一个默认名称。 若要赋予该形状一个更有意义的名称,请使用 Name 属性。

javascript
/*本示例向活动工作表添加一个正方形,为其命名为“Red Square”,然后设置其前景色和线条样式。*/
function test() {
    let shapes = ActiveSheet.Shapes
    let shape = shapes.AddShape(msoShapeRectangle, 144, 144, 72, 72)
    shape.Name = "Red Square"
    shape.Fill.ForeColor.RGB = RGB(255, 0, 0)
    shape.Line.DashStyle = msoLineDashDot
}