SpatialNeighbors プロパティ (Visio)Shape.SpatialNeighbors property (Visio)

指定した図形に関して特定の基準を満たす図形を表す Selection オブジェクトを返します。Returns a Selection object that represents the shapes that meet certain criteria in relation to a specified shape. 読み取り専用です。Read-only.


SpatialNeighbors(RelationToleranceFlagsresultroot)expression.SpatialNeighbors (Relation, Tolerance, Flags, ResultRoot)

Shape オブジェクトを表す変数を取得します。expression A variable that represents a Shape object.


名前Name 必須 / オプションRequired/Optional データ型Data type 説明Description
RelationRelation 必須Required 整数型 (Integer)Integer 使用する関係の種類を示す整数です。An integer describing the type of relationship to be used.
ToleranceTolerance 必須Required DoubleDouble 親図形によって定義された座標空間を基準として、内部図面単位で表された距離です。A distance in internal drawing units with respect to the coordinate space defined by the parent shape.
FlagsFlags 必須Required 整数型 (Integer)Integer 結果として返されるエントリの種類を制御するフラグです。Flags that influence the type of entries returned in results.
ResultRootResultRoot 省略可能Optional VariantVariant ページまたはグループを表す Shape オブジェクトです。A Shape object that represents a page or group.

戻り値Return value



引数_Relation_の値については、 SpatialRelation プロパティのトピックを参照してください。For values of the Relation argument, see the SpatialRelation property topic.

_Flags_引数には、次の表で定義されている定数の値を任意に組み合わせて指定できます。The Flags argument can be any combination of the values of the constants defined in the following table. これらの定数は、Visio タイプライブラリのVisSpatialRelationFlagsでも定義されています。These constants are also defined in VisSpatialRelationFlags in the Visio type library.

定数Constant Value 説明Description
visSpatialIncludeContainerShapesvisSpatialIncludeContainerShapes &H80&H80 コンテナーが含まれます。Include containers. 既定では、コンテナーは含まれません。By default, containers are not included.
visSpatialIncludeDataGraphicsvisSpatialIncludeDataGraphics &H40&H40 データ グラフィックの引き出し図形とそのサブ図形を含めます。Includes data graphic callout shapes and their sub-shapes. 既定では、データ グラフィックの引き出し図形とそのサブ図形は含まれません。By default, data graphic callout shapes and their subshapes are not included. 親図形自体がデータ グラフィックの引き出し図形である場合、フラグを設定しなくても、親図形の座標と引き出し以外の図形の間で検索が実行されます。If the parent shape is itself a data graphic callout, searches are made between the parent shape's geometry and non-callout shapes, unless this flag is set.
visSpatialIncludeGuidesvisSpatialIncludeGuides &H2&H2 ガイドの [Geometry] セクションを考慮します。Considers a guide's Geometry section. 既定では、ガイドは結果に影響を与えません。By default, guides do not influence the result.
visSpatialFrontToBackvisSpatialFrontToBack &H4&H4 項目を前から後ろに並べます。Orders items front to back.
visSpatialBackToFrontvisSpatialBackToFront &H8&H8 項目を後から前に並べます。Orders items back to front.
visSpatialIncludeHiddenvisSpatialIncludeHidden &H10&H10 非表示の [Geometry] セクションを考慮します。Considers hidden Geometry sections. 既定では、非表示の [Geometry] セクションは結果に影響を与えません。By default, hidden Geometry sections do not influence the result.
visSpatialIgnoreVisiblevisSpatialIgnoreVisible &H20&H20 表示されている [Geometry] セクションを考慮しません。Does not consider visible Geometry sections. 既定では、表示されている [Geometry] セクションは結果に影響を与えます。By default, visible Geometry sections influence the result.

[Geometry] セクションが表示されているか、非表示かを判断するには、[NoShow] セルを使用します。Use the NoShow cell to determine whether a Geometry section is hidden or visible. [NoShow] セルの値は、[Geometry] セクションが非表示の場合は True、表示されている場合は False になります。Hidden Geometry sections have a value of TRUE and visible Geometry sections have a value of FALSE in the NoShow cell.

_Relation_が指定されていない場合、 SpatialNeighborsプロパティは、すべての可能なリレーションシップを基準として使用します。If Relation is not specified, the SpatialNeighbors property uses all the possible relationships as criteria.

Visio 2002 以降では、 _Flags_にVisSpatialFrontToBackが含まれている場合、 SpatialNeighborsプロパティによって返されるSelectionオブジェクト内の項目は、前の順序に並べられます。Beginning with Visio 2002, if Flags contains VisSpatialFrontToBack, items in the Selection object returned by the SpatialNeighbors property are ordered front to back. visSpatialBackToFront が設定されている場合、返される項目は後ろから前に並べられます。If visSpatialBackToFront is set, the items returned are ordered back to front. このフラグが設定されていない場合、または Visio の以前のバージョンを実行している場合、順序は予測不可能です。If this flag is not set, or if you are running an earlier version of Visio, the order is unpredictable. 順序は、Selection オブジェクトで識別された図形の Index プロパティを使用して判別できます。You can determine the order by using the Index property of the shapes identified in the Selection object.

_Resultroot_を指定しない場合、このプロパティは、指定した図形に対して特定の基準を満たす図形を表すSelectionオブジェクトを返します。If you don't specify ResultRoot, this property returns a Selection object that represents the shapes that meet certain criteria in relation to the specified shape. ResultRoot を指定した場合、このプロパティは ResultRoot によって指定された Shape オブジェクト内の図形のうち、指定した図形に関する特定の基準を満たすすべての図形を表す Selection オブジェクトを返します。If you specify ResultRoot, this property returns a Selection object that represents all the shapes in the Shape object specified by ResultRoot that meet certain criteria in relation to the specified shape. たとえば、指定した図形の近くにあるグループ内のすべての図形を検索する場合に、ResultRoot を使用します。For example, specify ResultRoot to find all shapes within a group that are near a specified shape.

_Resultroot_が指定されているが、その結果を比較するShapeオブジェクトと同じページまたは同じマスターシェイプに含まれていない場合、 SpatialNeighborsプロパティは例外を発生させ、 Nothingを返します。If ResultRoot is specified but isn't on the same page or in the same master as the Shape object to which you are comparing it, the SpatialNeighbors property raises an exception and returns Nothing.

SpatialNeighbors プロパティは、2 つの図形を比較する場合に図形の線の幅、影、線の端点、コントロール ポイント、または接続ポイントを考慮しません。When it compares two shapes, the SpatialNeighbors property does not consider the width of a shape's line, shadows, line ends, control points, or connection points.


この Microsoft Visual Basic for Applications (VBA) の例は、ShapeAdded イベントのイベント ハンドラー内で SpatialNeighbors プロパティを使用して、ある図形が別の図形に含まれているかどうかを判別する方法を示します。This Microsoft Visual Basic for Applications (VBA) example shows how to use the SpatialNeighbors property in an event handler for the ShapeAdded event to determine if one shape is contained within another.

次のコードを VBA プロジェクトに追加する前に、図面に少なくとも1つの図形を追加します。Before adding the following code to your VBA project, add at least one shape to your drawing. 次に、別の図形をステンシルからドラッグするか描画して図面に追加し、最初の図形内に完全に収まるように配置します。Then add another shape to your drawing, either by dragging it from a stencil or drawing it, positioning it so that it is completely contained within an existing shape.

Public Sub Document_ShapeAdded(ByVal Shape As IVShape) 
 Dim vsoShapeOnPage As Visio.Shape 
 Dim intTolerance As Integer 
 Dim vsoReturnedSelection As Visio.Selection 
 Dim strSpatialRelation As String 
 Dim intSpatialRelation As VisSpatialRelationCodes 
 On Error GoTo errHandler 
 'Initialize string 
 strSpatialRelation = "" 
 'Set tolerance argument 
 intTolerance = 0.25 
 'Set Spatial Relation argument 
 intSpatialRelation = visSpatialContainedIn 
 'Get the set of spatially related shapes 
 'that meet the criteria set by the arguments. 
 Set vsoReturnedSelection = Shape.SpatialNeighbors _ 
 (intSpatialRelation, intTolerance, 0) 
 'Evaluate the results. 
 If vsoReturnedSelection.Count = 0 Then 
 'No shapes met the criteria set by 
 'the arguments of the method. 
 strSpatialRelation = Shape.Name & " is not contained." 
 'Build the positive result string. 
 For Each vsoShapeOnPage In vsoReturnedSelection 
 strSpatialRelation = strSpatialRelation & _ 
 Shape.Name & " is contained by " & _ 
 vsoShapeOnPage.Name & Chr$(10) 
 End If 
 'Display the results on the shape added. 
 Shape.Text = strSpatialRelation 
End Sub

サポートとフィードバックSupport and feedback

Office VBA またはこの説明書に関するご質問やフィードバックがありますか?Have questions or feedback about Office VBA or this documentation? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.