VBA 使用命名连接点连接

VBA connect using named connection points

我有几个带有命名连接点的形状。有什么办法可以用他们的名字联系他们吗?

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

示例:

假设我有两个形状 S1、S2。

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

现在我可以指定连接 S1(C11) -> S2(C21)

是的。假设 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")