【问题标题】:Change Visio shape name to match User entered shape data更改 Visio 形状名称以匹配用户输入的形状数据
【发布时间】: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 代码。使用代码更改名称不是问题,但是如何自动触发代码将形状名称设置为形状数据字段“名称”

或者是他们让形状提示用户在放置时直接更改形状名称的方式。

【问题讨论】:

    标签: vba visio


    【解决方案1】:
    shp.Name = textString
    

    但请注意重复名称。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-12-16
      • 2020-05-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-15
      • 2021-12-12
      相关资源
      最近更新 更多