VBA使用命名连接点进行连接

时间:2017-04-06 19:43:16

标签: vba visio

我有几个带有命名连接点的形状。有没有办法用他们的名字连接他们?

我不想使用x,y坐标连接它们。

示例:

说我有两个形状S1,S2。

S1上的连接点:C11,C12
S2上的连接点:C21,C22

现在可以指定Connect S1(C11) - > S2(C21)

1 个答案:

答案 0 :(得分:0)

是的。假设您在Visio页面对象(vzpVisioPage)上有两个形状,即开始形状和结束形状:

Set vsoStartShape = vzpVisioPage.Shapes.Item(varSomeIndex)
Set vsoEndShape = vzpVisioPage.Shapes.Item(varSomeOtherIndex)

自定义连接点将在形状表的Connections部分中。

创建连接器形状并将其粘贴如下:

Set vsoConnectorShape = vzpVisioPage.Drop(vzpVisioPage.Application.ConnectorToolDataObject, 0, 0)
vsoConnectorShape.CellsU("BeginX").GlueTo vsoStartShape.Cells("Connections.C11")
vsoConnectorShape.CellsU("EndX").GlueTo vsoEndShape.Cells("Connections.C21")