ConnectorFormat 对象

         
Shapes (Shape)
ConnectorFormat

包含应用于连接符的属性和方法。连接符是连到两个其他形状的连接位置的线条。如果重新排列被连接的形状,连接符的几何外形会自动调整使形状保持连接。

使用 ConnectorFormat 对象

使用 ConnectorFormat 属性返回一个 ConnectorFormat 对象。使用 BeginConnectEndConnect 方法将连接符的两端连到文档中的其他形状。使用 RerouteConnections 方法自动查找两个形状间的最短路径。使用 Connector 属性查看形状是否为连接符。

请注意,向 Shapes 集合添加一个连接符时会指定大小和位置,但当连接符的两端连到集合中的其他形状后,它的大小和位置会自动调整。因此,如果要将连接符连到其他形状,则最初指定的大小和位置是无用的。同样地,当连接一个连接符时,指定了形状上的连接位置;但在连接符连到形状后使用 RerouteConnections 方法会改变连接位置,使得最初选择的连接位置无用。

以下示例向 myDocument 中添加两个矩形并且用曲线连接符连接矩形。

Set myDocument = ActivePresentation.Slides(1)
Set s = myDocument.Shapes
Set firstRect = s.AddShape(msoShapeRectangle, 100, 50, 200, 100)
Set secondRect = s.AddShape(msoShapeRectangle, 300, 300, 200, 100)
With s.AddConnector(msoConnectorCurve, 0, 0, 0, 0).ConnectorFormat
    .BeginConnect ConnectedShape:=firstRect, ConnectionSite:=1
    .EndConnect ConnectedShape:=secondRect, ConnectionSite:=1
    .Parent.RerouteConnections
End With

说明

连接位置通常按下表所示的规则进行编号。

形状类型 连接位置标号方案
自选图形、艺术字、图片和 OLE 对象 连接位置从顶部开始按逆时针进行编号。
任意多边形 连接位置为顶点,与顶点编号相对应。

要算出一个复杂形状上各连接位置的编号,可以打开宏录制器并对形状进行试验操作,然后查看录下的代码;也可以创建一个形状并选中它,然后运行以下示例。这段代码将对每个连接位置进行编号并连接一个连接符。

Set mainshape = ActiveWindow.Selection.ShapeRange(1)
With mainshape
    bx = .Left + .Width + 50
    by = .Top + .Height + 50
End With
With ActiveWindow.View.Slide
    For j = 1 To mainshape.ConnectionSiteCount
        With .Shapes.AddConnector(msoConnectorStraight, _
                bx, by, bx + 50, by + 50)
            .ConnectorFormat.EndConnect mainshape, j
            .ConnectorFormat.Type = msoConnectorElbow
            .Line.ForeColor.RGB = RGB(255, 0, 0)
            l = .Left
            t = .Top
        End With
        With .Shapes.AddTextbox(msoTextOrientationHorizontal, _
                l, t, 36, 14)
            .Fill.Visible = False
            .Line.Visible = False
            .TextFrame.TextRange.Text = j
        End With
    Next j
End With