【问题标题】:Filter shapes by master in visio using Visual Basic使用 Visual Basic 在 vi​​sio 中按主过滤形状
【发布时间】:2019-05-02 18:03:19
【问题描述】:

所以这里是设置: 我正在使用 Visio 创建使用来自模具的不同形状的图表。稍后,我将拥有连接到不同类型形状的数据的 excel 文件。 excel文件将定期更新。由于图表将非常复杂,因此 Shapes 将具有链接到当前文档中的形状的超链接。对于超链接,我喜欢根据它们的含义来命名形状。这将手动完成一次。

所以我现在想要完成的是以编程方式更改与形状名称匹配的形状数据。由于不同类型的形状分配了不同的数据集,我需要一种方法来根据它们的种类/外观过滤文档中的形状。 例如: 三角形有一个日期指定为形状数据,矩形有一个邮政编码。有两个名为 Bert 和 Ernie 的三角形和三个名为 Huey、Dewey 和 Louie 的矩形,应分配各自的形状数据。

如何确定 sheet-Object 的形状集合中哪些是三角形,哪些是矩形?

顺便说一句:Master-Property 有一个 Name 和 NameU(以及更多字段),但是当您为形状命名时,它们会发生变化。这是我到目前为止所尝试的。没有运气。

任何建议将不胜感激。

Dacrow28

【问题讨论】:

  • 顺便说一句:Master-Property 有一个 Name 和 NameU(以及更多字段),但是当您为形状命名时,它们会发生变化。 当您更改时,我可以理解形状(实体)名称。但是为什么你需要 master-shape name 呢?在这种情况下,我有一个想法 - 您可以添加用户定义的单元格,您可以在其中存储本机主形状名称!
  • PS 如果您更改母版名称,shp.Master.NameU 属性将包含本机母版名称!
  • 谢谢代理。就是那个。我完全忽视了Master,完全错误地专注于MasterShape。为实体/形状指定形状名称时,shp.Master.NameU 和 shp.Master.Name 不会改变。

标签: vb.net filter shapes visio basic


【解决方案1】:

由于我无法将代理的评论标记为答案,我将引用他。

PS 如果您更改母版名称,shp.Master.NameU 属性包含本机母版名称!

谢谢代理。就是那个。我完全忽视了Master,完全错误地专注于MasterShape。为实体/形状指定形状名称时,shp.Master.NameU 和 shp.Master.Name 不会改变。

【讨论】:

    【解决方案2】:

    您可以使用 Selection 对象来获取特定母版的所有形状,它的执行速度应该比搜索每个形状更快。

    使用 Page.CreateSelection 方法,你就可以了

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-01
      • 2016-04-10
      • 2019-05-23
      • 2019-09-24
      • 1970-01-01
      相关资源
      最近更新 更多