我想在 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
在图像中,我标记了我想要选择的区域示例。然后应用更改。不幸的是,我不知道如何获取原理图的这个特定部分。
有没有办法通过颜色来选择一堆对象?或者什么?
您可以分层分隔页面上的对象。每层都可以有颜色。 您可以使用 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...