1

我在 Visio 2010 模具中定义了一些形状,并希望根据特定形状数据字段的值设置图层。如果可能的话,我想在 shapesheet 中执行此操作,因为我的工作场所对 VisualBasic 的使用非常有限。

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

基本上,我需要获取特定图层的当前索引。例如,我知道图层的名称是“Remove”,并且需要 ThePage!Layers 中的索引,以便我可以相应地设置 LayerMember。索引因页面而异,因此我需要在页面上放置形状后在页面上下文中进行此查找。

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

4

1 回答 1

0

有可能的!我的方法
添加到我的形状 3 个部分:用户定义的单元格形状数据图层成员
添加三个新部分形状数据部分,我创建了一行,其中包含图层名称选择器
用户定义的单元格部分包含两行:
1. User.L_List存储页面上所有图层的列表。我使用MS Excel准备此列表 在A 列中,我填写行号,就像这张图片 在单元格 B1中,我放置公式 - Concatenate("ThePage!Layers.Name";A1) 在单元格 B2 中,我放置公式 - Concatenate(B1; "&Listsep()&ThePage!Layers.Name[";A2;"]")在 MS Excel 中准备图层列表

并根据需要拉下一些行。在B 列中选择底部单元格并复制该值 将此值粘贴到MS Visio 的单元格User.L_List
2. 下一个单元格包含公式SETF(GetRef(LayerMember),LOOKUP(Prop.LayerName,User.L_List))
将形状分配给图层根据Prop.LayerName单元格中的值

于 2017-08-02T10:35:16.697 回答