【问题标题】:Visio shapesheet get Layer index from nameVisio shapesheet 从名称中获取图层索引
【发布时间】:2017-03-30 23:02:54
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: layer visio shapesheet


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-12
      • 1970-01-01
      • 2020-07-27
      • 1970-01-01
      • 1970-01-01
      • 2019-08-27
      相关资源
      最近更新 更多