Share via


CreateSelection Method [Visio 2003 SDK Documentation]

Creates various types of Selection objects.

objRet = object**.CreateSelection**(SelType, [IterationMode], [Data])

objRet     Selection. The selection created.

object     Required. An expression that returns a Master, Page, or Shape object.

SelType     Required VisSelectionTypes. The type of selection. See Remarks for possible values.

IterationMode    Optional VisSelectMode. The selection mode used. See Remarks for possible values.

Data    Optional****. The object type that corresponds to the SelType argument. See Remarks for possible values.

Version added

2003

Remarks

The CreateSelection method makes it possible to create complex selections programmatically. So instead of having to select all shapes on a page, for example, you can select only those on a given layer, or only those based on a certain master.

Calling the CreateSelection method with SelType equal to visSelTypeByType or visSelTypeByLayer is equivalent to selecting options in the Select byType dialog box (Edit menu).

The SelType argument should be one of the following values, which are declared in VisSelectionTypes in the Visio type library.

Constant Value Description

visSelTypeAll

1

A selection that contains all shapes initially.

visSelTypeByLayer

3

A selection that contains all the shapes of a given layer initially.

visSelTypeByMaster

5

A selection that contains all the instantiated shapes of a given master initially.

visSelTypeByType

4

A selection that contains all the shapes of a given type initially.

visSelTypeEmpty

0

A selection that contains no shapes initially.

visSelTypeSingle

2

A selection that contains one shape initially.

The optional IterationMode argument should be one of the following values, which are declared in VisSelectMode in the Visio type library. The default is visSelModeSkipSuper.

Constant Value Description

visSelModeOnlySub

&H0800

Selection only reports subselected shapes.

visSelModeOnlySuper

&H0200

Selection only reports superselected shapes.

visSelModeSkipSub

&H0400

Selection does not report subselected shapes.

visSelModeSkipSuper

&H0100

Selection does not report superselected shapes.

The optional Data argument should be an object that corresponds to the object type specified by SelType. For example, if you want to select all the masters of a certain type, Data should be of type Master. And if you want to select all the shapes on a certain layer, Data should be of type Layer.

When the SelType argument is visSelTypeByType, possible Data values should be one of the following values, which are declared in VisTypeSelectionTypes in the Visio type library.

Constant Value Description

visTypeSelBitmap

16

A shape that is a bitmap.

visTypeSelGroup

1

A shape that contains other shapes.

visTypeSelGuide

4

A shape that is a guide.

visTypeSelInk

32

A shape that is ink.

visTypeSelMetafile

8

A shape that is a metafile.

visTypeSelOLE

64

A shape that is linked, embedded, or a control.

visTypeSelShape

2

A native Visio shape.

Example

As it applies to the Page object, when SelType is visSelTypeByLayer.

This Microsoft Visual Basic for Applications (VBA) macro shows how to use the CreateSelection method to select all shapes on a particular layer. Before running this macro, create two layers in your drawing, one named "a" and one named "b", and add shapes to both layers.

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

As it applies to the Page object, when SelType is visSelTypeSingle.

This VBA macro shows how to use the CreateSelection method to select a particular shape on the drawing page. Before running this macro, open the Basic Shapes stencil.

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

Applies to | Master object | Page object | Shape object

See Also | Layer object | Selection property