我正在尝试将形状的文本字段设置为其所在图层的名称(Visio 2010)。我应该能够将公式设置为:
=页面!Layers.Name〔LayerMember〕
但这不起作用,因为LayerMember是一个字符串,形状可以在多个层上,即,如果它只在第三层上,LayerMember="3",但如果它在三个不同的层上,则可以是"3;2;5"。因此,使用LEFT(LayerMember,1)可以获得列表中的第一个值,但将其放在上面公式的索引字段中也不起作用。在索引字段中放置一个静态值很好,但我希望能够更改形状的图层,并将形状上的文本更改为图层名称。
使用LEFT(LayerMember,1)返回一个字符串。我找不到将字符串值转换为数字的方法来从页面的形状表中获取层名称值。
我是Visio的新手,但由于某种原因,我无法理解这一点。
层是形状的一个属性,所以请尝试shpObj.Layer(1)。命名它将为您提供该形状所在的第一层的名称。您需要检查shjObj.LayerCount以确保该形状实际上在层上。