VBA Visio 在原理图的 1 行内选择对象(或按颜色)

问题描述 投票:0回答:1

我想在 1 行内选择一个对象,而不是我拥有的整个原理图。

到目前为止,我使用的是按对象 ID 进行选择

If Vshp.Name Like "*UG*" Then
Debug.Print Vshp.ID & " - " & Vshp.Master.Name
sel.Select Vshp, visSelect
'sel.Selection.Align visHorzAlignNone, visVertAlignMiddle, False
End If
Next

但看起来我此后应用的所有内容都指的是主要选择的形状,它在下面。

https://learn.microsoft.com/en-us/office/vba/api/visio.selection.align

在图像中,我标记了我想要选择的区域示例。然后应用更改。不幸的是,我不知道如何获取原理图的这个特定部分。

有没有办法通过颜色来选择一堆对象?或者什么?

vba visio
1个回答
0
投票

您可以分层分隔页面上的对象。每层都可以有颜色。 Visio layer properties window 您可以使用 Create Selection method 与选项逐层。 语法像

 Dim vsoLayer As Visio.Layer
    Dim vsoSelection As Visio.Selection
    Dim sh as visio.shape

    Set vsoLayer = ActivePage.Layers.ItemU("a")
    Set vsoSelection = ActivePage.CreateSelection(visSelTypeByLayer, visSelModeSkipSuper, vsoLayer)

也可以用代码选择多个图层

Dim vsoSelection1 As Visio.Selection
Set vsoSelection1 = Application.ActiveWindow.Page.CreateSelection(visSelTypeByLayer, visSelModeSkipSuper, "a;c")
Application.ActiveWindow.Selection = vsoSelection1

你写的

我使用了对象 ID 的选择

有名称选择,如果形状名称包含UG...

© www.soinside.com 2019 - 2024. All rights reserved.