当将形状拖放到页面时,我需要将 visio 形状的名称更改为用户输入的值。我创建了两个形状数据字段:名称和状态。当形状被删除时,名称字段会提示用户输入名称,这是我想转移到实际形状名称的值。这样做的原因是可以使用分配给“名称”字段的值以编程方式更改形状数据字段“状态”,如下面的代码所示:
Sub SetStatePassive()
Dim vPag As Visio.Page
Set vPag = Visio.ActivePage
Dim shp As Visio.shape
Set shp = Visio.ActivePage.Shapes("XV 013A")
Dim vCell As Visio.cell
Set vCell = shp.Cells("Prop.State")
vCell.FormulaU = Chr(34) & "Passive" & Chr(34)
End Sub
我还没有找到更改实际形状名称以自动匹配“名称”形状数据字段的方法。
有没有办法使用形状表公式来做到这一点,或者在定义形状数据后让形状触发一些 VBA 代码。用代码改名字没问题,但是代码如何自动触发把形状名称设置到形状数据字段“名称”
或者是他们获取形状以提示用户在放置时直接更改形状名称的方式。
答案 0 :(得分:0)
shp.Name = textString
不过要注意重名。