我正在尝试将形状的文本字段设置为它所在的图层的名称(Visio 2010)。我应该能够将公式设置为:
=页面!Layers.NameLayerMember
但这不起作用,因为LayerMember是一个字符串,一个形状可以在多个层上,即如果它只在第三层上,LayerMember = "3“,但如果它在三个不同的层上,它可以是"3;2;5”。因此,使用LEFT(LayerMember,1)获得列表中的第一个值,但将其放入上述公式的索引字段也不起作用。在索引字段中设置一个静态值很好,但我希望能够更改形状的图层,并将形状上的文本更改为图层名称。
使用LEFT(LayerMember,1)返回一个字符串。我找不到一种方法来将字符串值转换为一个数字,以便从页面的形状表中获取图层名称的值。
我是Visio的新手,但由于某些原因,我不能理解这一点。
发布于 2013-07-13 22:34:57
Layer是shape的一个属性,所以尝试shpObj.Layer(1).Name它会给出形状所在的第一个图层的名称。您将需要检查shjObj.LayerCount以确保该形状实际上位于图层上。
https://stackoverflow.com/questions/17620747
复制相似问题