Page.CreateSelection メソッド (Visio)
さまざまな種類の Selection オブジェクトを作成します。
構文
expression. CreateSelection
( _SelType_
, _IterationMode_
, _[Data]_
)
式Page オブジェクトを表す変数。
パラメーター
名前 | 必須 / オプション | データ型 | 説明 |
---|---|---|---|
SelType | 必須 | VisSelectionTypes | 選択の種類です。 設定可能な値については、「備考」を参照してください。 |
IterationMode | 省略可能 | VisSelectMode | 使用する選択モードです。 設定可能な値については、「備考」を参照してください。 |
Data | 省略可能 | バリアント型 (Variant) | 引数 SelType に対応するオブジェクトの種類です。 使用可能な値については備考を参照してください。 |
戻り値
Selection
注釈
CreateSelection メソッドを使用することにより、複雑な選択がプログラムで作成できます。 このため、ページですべての図形を選択する代わりに、たとえば、任意のレイヤーにある図形のみ選択したり、特定のマスター シェイプに基づく図形のみを選択できます。
SelType が visSelTypeByType または visSelTypeByLayer と等しい CreateSelection メソッドを呼び出すことは、[Select byType] ダイアログ ボックスのオプションの選択と同じです ([ホーム] タブの [編集] グループで [選択] をクリックし、[種類で選択] をクリックします)。
SelType 引数は、Visio タイプ ライブラリの VisSelectionTypes で宣言されている次のいずれかの値である必要があります。
定数 | 値 | 説明 |
---|---|---|
visSelTypeAll | 1 | 初期状態で、すべての図形を含む選択範囲です。 |
visSelTypeByDataGraphic | 6 | 初期状態で、適用されるデータ グラフィックの指定された型の図形をすべて含む選択範囲です。 |
visSelTypeByLayer | 3 | 初期状態で、指定されたレイヤーの図形をすべて含む選択範囲です。 |
visSelTypeByMaster | 5 | 初期状態で、指定されたマスター シェイプのインスタンス化された図形をすべて含む選択範囲です。 |
visSelTypeByRole | 7 | 初期状態で、指定された役割の図形をすべて含む選択範囲です。 |
visSelTypeByType | 4 | 初期状態で、指定されたタイプの図形をすべて含む選択範囲です。 |
visSelTypeEmpty | 0 | 初期状態では、まったく図形が含まれない選択範囲です。 |
visSelTypeSingle | 2 | 初期状態では、図形を 1 つ含む選択範囲です。 |
省略可能な引数 IterationMode は、Visio タイプ ライブラリの VisSelectMode で宣言されている次のいずれかの値になります。 既定値は visSelModeSkipSuper です。
定数 | 値 | 説明 |
---|---|---|
visSelModeOnlySub | &H0800 | 選択範囲からは下位選択された図形のみ報告されます。 |
visSelModeOnlySuper | &H0200 | 選択範囲からは上位選択された図形のみ報告されます。 |
visSelModeSkipSub | &H0400 | 選択範囲からは下位選択された図形が報告されません。 |
visSelModeSkipSuper | &H0100 | 選択範囲からは上位選択された図形が報告されません。 |
省略可能な引数 Data は、SelType で指定したオブジェクトの種類に一致するオブジェクトになります。 たとえば、特定の種類のマスター シェイプをすべて選択する場合は、Data を Master タイプにします。 特定のレイヤーにあるマスター シェイプをすべて選択する場合は、Data を Layer タイプにします。
SelType が visSelTypeByRole の場合、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" という名前の 2 つのレイヤーを図面に作成し、両方のレイヤーに図形を追加します。
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 のサポートおよびフィードバックを参照してください。