【问题标题】:Visio Page ShapeSheet reference in shape shapesheet formula形状 shapesheet 公式中的 Visio 页面 ShapeSheet 参考
【发布时间】:2013-07-13 22:34:56
【问题描述】:

我正在尝试将形状的文本字段设置为其所在图层的名称(Visio 2010)。我应该能够将公式设置为:

=ThePage!Layers.Name[LayerMember]

但这不起作用,因为 LayerMember 是一个字符串,一个形状可以在多个层上,即,如果它仅在第 3 层,则 LayerMember = "3" 但如果它可以是 "3;2;5"位于三个不同的层。因此,使用 LEFT(LayerMember, 1) 获取列表中的第一个值,但将其放在上述公式的索引字段中也不起作用。在索引字段中放置一个静态值就可以了,但我希望能够更改形状的图层并将形状上的文本更改为图层名称。

使用 LEFT(LayerMember,1) 返回一个字符串。我找不到将字符串值转换为数字以从页面的 shapesheet 获取图层名称值的方法。

我是 Visio 的新手,但由于某种原因,我无法弄清楚这一点。

【问题讨论】:

    标签: visio shapesheet


    【解决方案1】:

    图层是形状的属性,所以试试 shpObj.Layer(1).Name 这将为您提供形状所在的第一层的名称。您需要检查 shjObj.LayerCount 以确保该形状实际上位于图层上。

    【讨论】:

    • John - 谢谢,但这不适合我想要做的事情。我只是想在对象的形状表中输入一个公式来设置我创建的形状数据字段的值。我希望形状数据的值等于它所在图层的名称,但要获取图层的名称,您必须通过 ThePage!Layer.Name[Index value] 访问背景工作表的工作表数据 - 我正在尝试使用形状的图层成员值作为上述索引值,我不断收到公式错误。
    • 你不能通过 shapesheet 设置形状的文本,所以你最好还是使用 VBA。
    猜你喜欢
    • 1970-01-01
    • 2021-06-16
    • 2017-03-04
    • 1970-01-01
    • 1970-01-01
    • 2017-03-30
    • 1970-01-01
    • 2021-10-21
    • 2016-07-04
    相关资源
    最近更新 更多