ConnectorFormat 对象

         
Shapes (Shape)
ConnectorFormat

包含应用于连接符的属性和方法。连接符是用于连接其他两个图形的线,所连接的位置叫做连接站点。如果重新排列已连接的图形,那么连接符的几何图形将自动调整,以使重新排列的图形仍保持连接。

ConnectorFormat 对象的的用法

可用 ConnectorFormat 属性返回 ConnectorFormat 对象。使用 BeginConnect 方法和 EndConnect 方法可将连接符的末端与文档中其他图形相连。使用 RerouteConnections 方法可自动寻找由连接符连接的两个图形之间的最短路径。使用 Connector 属性可判断一个图形是否是连接符。

请注意,虽然向 Shapes 集合添加连接符时,对其设置了大小和位置,但将连接符的起点和终点连接到其他图形时,连接符的大小和位置将会自动调整。因而,如果打算用连接符连接其他图形,那么对其设置的初始大小和位置就没有什么实际意义。同样,用连接符连接其他图形时,将指定要连接的图形上的连接站点,但将连接符连接好之后,用 RerouteConnections 方法可能会改变连接符所连接的连接站点,使开始时选定的连接站点变得没有意义。

下例向 myDocument 添加了两个矩形,并用弯曲连接符将这两个矩形连接起来。

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

说明

连接站点的编号通常按下表所列的规则进行。

图形的类型 连接站点编号方案
自选图形、艺术字、图片和 OLE 对象 连接站点从顶部开始按逆时针方向编号。
任意多边形 连接站点就是顶点,其编号就相应于顶点的编号。

对于复杂的图形,如果要搞清楚哪个编号相应于哪个连接站点,可在宏记录器打开的时候对该图形做一些操作,然后再查看所记录的代码;或者可选定该图形,然后运行下例。下述代码将对每个连接站点进行编号,并对每个连接站点连接一个连接符。

Set mainshape = ActiveWindow.Selection.ShapeRange(1)
With mainshape
    bx = .Left + .Width + 50
    by = .Top + .Height + 50
End With
With ActiveSheet
    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.Characters.Text = j
        End With
    Next j
End With