Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Renvoie un entier qui représente la relation spatiale d'une forme par rapport à une autre forme. Les deux formes doivent se trouver sur la même page ou dans la même forme de base. En lecture seule.
Syntaxe
expression. SpatialRelation (OtherShape, Tolerance, Flags)
expression Une variable qui représente uneForme d’objet.
Paramètres
| Nom | Requis/Facultatif | Type de données | Description |
|---|---|---|---|
| Autre forme | Obligatoire | [IVSHAPE] | Autre objet Shape impliqué dans la comparaison. |
| Tolerance | Obligatoire | Double | Distance exprimée dans l'unité de dessin interne par rapport au système de coordonnées défini par le parent de l'objet Shape. |
| Flags | Obligatoire | Integer | Indicateurs ayant une incidence sur le résultat. Reportez-vous aux notes pour les valeurs de cet argument. |
Valeur renvoyée
Entier
Remarques
L’entier retourné peut être n’importe quelle combinaison de valeurs définies dans VisSpatialRelationCodes dans la bibliothèque de types Visio. La propriété SpatialRelation renvoie zéro (0) si les deux formes comparées n’entretiennent pas l’une des relations décrites dans le tableau de la rubrique VisSpatialRelationCodes.
L'argument Indicateurs peut être l'une des combinaisons de valeurs des constantes définies dans le tableau suivant. Ces constantes sont déclarées dans VisSpatialRelationFlags dans la bibliothèque de types Visio. Utilisez la cellule NoShow pour déterminer si une section Geometry est visible ou masquée. Les sections Geometry masquées ont une valeur TRUE et celles qui sont visibles ont une valeur FALSE dans la cellule NoShow.
| Constante | Valeur | Description |
|---|---|---|
| visSpatialIncludeContainerShapes | &H80 | Inclut les conteneurs. Par défaut, les conteneurs ne sont pas inclus. |
| visSpatialIncludeDataGraphics | &H40 | Inclut les formes de légende des graphiques de données et leurs sous-formes. Par défaut, les formes de légende des graphiques de données et leurs sous-formes ne sont pas incluses. Si la forme parente est elle-même une légende de graphique de données, les recherches sont réalisées entre la géométrie de la forme parente et les formes qui ne sont pas des formes de légende, excepté si cet indicateur est défini. |
| visSpatialIncludeGuides | &H2 | Tient compte de la section Geometry d'un repère. Par défaut, les repères n’influencent pas le résultat. |
| visSpatialIncludeHidden | &H10 | Réservé à une utilisation future. Ne pas utiliser. |
| visSpatialIgnoreVisible | &H20 | Ne tient pas compte des sections Geometry visibles. Par défaut, les sections Geometry visibles ont une incidence sur le résultat. |
Remarque
La propriété SpatialRelation ne tient pas compte de la largeur de trait, des ombres, des extrémités de trait, des points de contrôle ou des points de connexion des formes lors des comparaisons.
Exemple
Cet exemple Microsoft Visual Basic pour Applications (VBA) montre comment utiliser la propriété SpatialRelation dans un gestionnaire d’événements pour l’événement ShapeAdded afin de déterminer la relation spatiale entre les formes.
Avant d’ajouter le code suivant à votre projet VBA, vérifiez qu’il existe au moins une forme sur la page de dessin. Une fois ce code ajouté, ajoutez une autre forme à votre dessin.
Public Sub Document_ShapeAdded(ByVal Shape As IVShape)
Dim vsoShapeOnPage As Visio.Shape
Dim intTolerance As Integer
Dim intReturnValue As VisSpatialRelationCodes
Dim intFlag As VisSpatialRelationFlags
Dim strReturn As String
On Error GoTo errHandler
'Initialize tolerance argument.
intTolerance = 0.25
'Initialize flags argument.
intFlag = visSpatialIncludeHidden
For Each vsoShapeOnPage In ActivePage.Shapes
'Get the spatial relationship.
intReturnValue = Shape.SpatialRelation(vsoShapeOnPage, _
intTolerance, intFlag)
'Convert return code to string value.
Select Case intReturnValue
Case VisSpatialRelationCodes.visSpatialContain
strReturn = "Contains"
Case VisSpatialRelationCodes.visSpatialContainedIn
strReturn = "is Contained in"
Case VisSpatialRelationCodes.visSpatialOverlap
strReturn = "overlaps"
Case VisSpatialRelationCodes.visSpatialTouching
strReturn = "is touching"
Case Else
strReturn = "has no relation with"
End Select
'Display relationship in the shape's text.
vsoShapeOnPage.Text = Shape.Name & " " & strReturn & " " & _
vsoShapeOnPage.Name
Next
errHandler:
End Sub
Assistance et commentaires
Avez-vous des questions ou des commentaires sur Office VBA ou sur cette documentation ? Consultez la rubrique concernant l’assistance pour Office VBA et l’envoi de commentaires afin d’obtenir des instructions pour recevoir une assistance et envoyer vos commentaires.