【发布时间】:2021-07-07 23:54:06
【问题描述】:
当将形状拖放到页面时,我需要将 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
我还没有找到一种方法来更改实际形状名称以自动匹配“名称”形状数据字段。
有没有办法使用 shapesheet 公式执行此操作,或者在定义形状数据后让形状触发一些 VBA 代码。使用代码更改名称不是问题,但是如何自动触发代码将形状名称设置为形状数据字段“名称”
或者是他们让形状提示用户在放置时直接更改形状名称的方式。
【问题讨论】: