ConnectorFormat 对象:包含应用于连接符的属性和方法。连接符是连到两个其他形状的连接位置的线条。如果重新排列被连接的形状,连接符的几何外形会自动调整使形状保持连接。
使用 ConnectorFormat 对象
使用 ConnectorFormat 属性返回一个 ConnectorFormat 对象。使用 BeginConnect 和 EndConnect 方法将连接符的两端连到文档中的其他形状。使用 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