2013-07-12 85 views
0

我试图将形状的文本字段设置为所在图层的名称(Visio 2010)。我应该能够设置公式如下:!形状图表公式中的Visio页面ShapeSheet参考

=翻动书页Layers.Name [LayerMember]

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

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

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

回答

1

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

+0

约翰 - 谢谢,但这不是我想要做的。我只是想在对象的形状表单中输入一个公式来设置我创建的形状数据字段的值。我希望形状数据的值等于它所在图层的名称,但是要获得要通过ThePage!Layer.Name [Index value]访问背景图纸工作表数据的图层名称 - 我试图使用形状的图层成员值作为上述的索引值,我不断收到公式错误。 – Greg

+0

无法通过形状表设置形状的文字,所以最好还是使用VBA。 –

相关问题