Visio shapesheet从名称获取Layer索引

时间:2016-11-16 16:33:00

标签: layer visio shapesheet

我在Visio 2010模板中有一些已定义的形状,并且希望根据特定形状数据字段的值设置图层。如果可能的话,我想在形状表中做到这一点,因为我的工作场所对VisualBasic的使用非常有限。

我可以进行必要的查找以查找特定值,但需要将其转换为页面图层列表中的正确索引。

基本上,我需要获取特定图层的当前索引。例如,我知道图层的名称是"删除"并需要ThePage!Layers中的索引,以便我可以相应地设置LayerMember。索引在页面之间会发生变化,因此我需要在页面上删除形状后在页面上下文中进行此查找。

如何使用图层名称作为查找索引查找ThePage!图层中条目的索引。像ThePage!Layers.Index ["删除"]这样的语法不起作用,我在Microsoft文档中找不到任何其他信息。

1 个答案:

答案 0 :(得分:0)

有可能!我的方法
我添加到我的形状3个部分:用户定义的单元格形状数据图层成员
Add three new sections Shape Data 部分中,我创建了一行,其中包含图层名称选择器
用户定义的单元格部分包含两行:
1. User.L_List 存储页面上所有图层的列表。我准备此列表使用 MS Excel A栏中,我填写行号,就像在此图片中一样 Prepare layers list in MS Excel
单元格B1 中,我放置公式 - 连接(“ThePage!Layers.Name”; A1)
在单元格B2中,我放置公式 - 连接(B1;“& Listsep()& ThePage!Layers.Name [”; A2;“]”) 并根据需要拉下一些行。 在 B列中选择底部单元格并复制该值 将此值粘贴到 MS Visio的单元格 User.L_List 中 2.下一个单元格包含公式 SETF(GetRef(LayerMember),LOOKUP(Prop.LayerName,User.L_List))
根据 Prop.LayerName 单元格

中的值为图层指定形状