Page.CreateSelection 方法 (Visio)

创建各种类型的 Selection 对象。

语法

expression. CreateSelection( _SelType_ , _IterationMode_ , _[Data]_ )

表达 一个代表 Page 对象的变量。

参数

名称 必需/可选 数据类型 说明
SelType 必需 VisSelectionTypes 选定内容的类型。 请参阅“说明”来了解可能的值。
IterationMode 可选 VisSelectMode 使用的选定内容模式。 请参阅“说明”来了解可能的值。
Data 可选 Variant SelType 参数相对应的对象类型。 有关可能值,请参见备注。

返回值

选择

备注

通过 CreateSelection 方法,您能够以编程方式创建复杂的选定内容。 这样,就不必选择页面上的所有形状,例如,可以只选择给定图层上的形状或只选择基于特定主控形状的形状。

调用 SelType 等于visSelTypeByTypevisSelTypeByLayer的 CreateSelection 方法等效于选择“按类型选择”对话框中的选项 (单击“开始”选项卡上的“编辑”组中的“选择”,然后单击“按类型选择) 。

SelType 参数应为以下值之一,这些值在 Visio 类型库中的 VisSelectionTypes 中声明。

常量 说明
visSelTypeAll 1 最初包含所有形状的选定内容。
visSelTypeByDataGraphic 6 最初包含应用了给定类型的数据图形的所有形状的选定内容。
visSelTypeByLayer 3 最初包含给定图层的所有形状的选定内容。
visSelTypeByMaster 5 最初包含给定主控形状的所有实例化形状的选定内容。
visSelTypeByRole 7 最初包含给定角色的所有形状的选定内容。
visSelTypeByType 4 最初包含给定类型的所有形状的选定内容。
visSelTypeEmpty 0 最初不包含任何形状的选定内容。
visSelTypeSingle 2 最初包含一个形状的选定内容。

可选的 IterationMode 参数应为 Visio 类型库在 VisSelectMode 中声明的下列值之一。 默认值是 visSelModeSkipSuper

常量 说明
visSelModeOnlySub &H0800 选定内容只报告部分选择的形状。
visSelModeOnlySuper &H0200 选定内容只报告整体选择的形状。
visSelModeSkipSub &H0400 选定内容不报告次选形状。
visSelModeSkipSuper &H0100 选定内容不报告超选形状。

可选的 Data 参数应为与 SelType 指定的对象类型相对应的对象。 例如,如果您要选择特定类型的所有主控形状,则 Data 应为 Master 类型。 如果您要选择特定图层上的所有形状,则 Data 应为 Layer 类型。

SelTypevisSelTypeByRole 时, Data 应是 VisRoleSelectionTypes 枚举的成员。

SelType 参数为 visSelTypeByType 时,可能的 Data 值应为 Visio 类型库在 VisTypeSelectionTypes 中声明的下列值之一。

常量 说明
visTypeSelBitmap 16 位图形状。
visTypeSelGroup 1 包含其他形状的形状。
visTypeSelGuide 4 参考线形状。
visTypeSelInk 32 墨迹形状。
visTypeSelMetafile 8 图元文件形状。
visTypeSelOLE 64 链接形状、嵌入形状或控件形状。
visTypeSelShape 2 本地 Visio 形状。

示例

以下 Microsoft Visual Basic for Applications (VBA) 宏显示如何使用 CreateSelection 方法选择特定图层上的所有形状。 运行此宏之前,请在绘图中创建两个层,一个名为“a”,一个名为“b”,并向这两个层添加形状。

Public Sub CreateSelection_Layer_Example() 
 
 Dim vsoLayer As Visio.Layer 
 Dim vsoSelection As Visio.Selection 
 
 Set vsoLayer = ActivePage.Layers.ItemU("a") 
 Set vsoSelection = ActivePage.CreateSelection(visSelTypeByLayer, visSelModeSkipSuper, vsoLayer) 
 
 Application.ActiveWindow.Selection = vsoSelection 
 
End Sub

此 VBA 宏演示如何使用 CreateSelection 方法在绘图页上选择特定形状。 运行此宏之前,请打开“基本形状”模具。

Public Sub CreateSelection_Page_Example() 
 
 Dim vsoSelection As Visio.Selection 
 Dim vsoShape As Visio.Shape 
 
 Application.ActiveWindow.Page.Drop Application.Documents("BASIC_U.VSS").Masters.ItemU("Rectangle"), 2, 9 
 Application.ActiveWindow.Page.Drop Application.Documents("BASIC_U.VSS").Masters.ItemU("Rectangle"), 5, 9 
 Application.ActiveWindow.Page.Drop Application.Documents("BASIC_U.VSS").Masters.ItemU("Rectangle"), 2, 7 
 
 Set vsoShape = ActivePage.Shapes(2) 
 Set vsoSelection = ActivePage.CreateSelection(visSelTypeSingle, visSelModeSkipSuper, vsoShape) 
 
 Application.ActiveWindow.Selection = vsoSelection 
 
 Debug.Print vsoShape.Name 
 
End Sub

支持和反馈

有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。