问题描述
我的目标是使用弯曲连接器"连接2个形状.我有两个函数可以创建2个不同的形状.
My goal is to connect 2 shapes with "Curved Connector". I have two functions that create 2 different shaped.
我录制了连接这两种形状的宏.
I recorded macro that connects these 2 shapes.
Application.ActiveWindow.Page.Drop Application.Documents.Item("C:\ MyVisio.vsd").Masters.ItemU(动态连接器"),0#,0#
将VisioCell1变暗为Visio.Cell
将VisioCell2变暗为Visio.Cell
设置vsoCell1 = Application.ActiveWindow.Page.Shapes.ItemFromID(79).CellsU("BeginX")
设置vsoCell2 = Application.ActiveWindow.Page.Shapes.ItemFromID(3).CellsSRC(1,1,0)
vsoCell1.GlueTo vsoCell2
设置vsoCell1 = Application.ActiveWindow.Page.Shapes.ItemFromID(79).CellsU("EndX")
设置vsoCell2 = Application.ActiveWindow.Page.Shapes.ItemFromID(4).CellsSRC(1,1,0)
vsoCell1.GlueTo vsoCell2
Application.EndUndoScope UndoScopeID1,真
Application.ActiveWindow.Page.Drop Application.Documents.Item("C:\MyVisio.vsd").Masters.ItemU("Dynamic connector"), 0#, 0#
Dim vsoCell1 As Visio.Cell
Dim vsoCell2 As Visio.Cell
Set vsoCell1 = Application.ActiveWindow.Page.Shapes.ItemFromID(79).CellsU("BeginX")
Set vsoCell2 = Application.ActiveWindow.Page.Shapes.ItemFromID(3).CellsSRC(1, 1, 0)
vsoCell1.GlueTo vsoCell2
Set vsoCell1 = Application.ActiveWindow.Page.Shapes.ItemFromID(79).CellsU("EndX")
Set vsoCell2 = Application.ActiveWindow.Page.Shapes.ItemFromID(4).CellsSRC(1, 1, 0)
vsoCell1.GlueTo vsoCell2
Application.EndUndoScope UndoScopeID1, True
问题:
1)项目ID(例如79、4等)将是动态的,因为我将生成可变数量的形状.
1) Item id such as 79, 4, etc will be dynamic, because I will generate variable number of shapes.
是否可以为我创建的每个对象设置标识符?
Is there is a way to set identifier to each object I create?
2)假设存在标识符,如何根据名称/ID找到该形状?
2) Let's say identifier exists, how do I find that shape based on name/ID?
谢谢
保罗
推荐答案
kaymaf
这篇关于Visio 2007和VBA.使用动态连接器连接两个形状的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!