Je ne peux pas obtenir les informations de la méthode SpartialNeighbors sur une forme "Package (expanded)".Visio: Comment obtenir les formes contenues dans une forme?
Normalement, j'utiliser ce code:
Dim s As Shape, vsoShapeOnPage As Shape
Dim vsoReturnedSelection As Visio.Selection
's contains the current shape
Set vsoReturnedSelection = s.SpatialNeighbors(visSpatialContain, 0, visSpatialIncludeContainerShapes)
If vsoReturnedSelection.Count = 0 Then
'No Shapes contained
Else
For Each vsoShapeOnPage In vsoReturnedSelection
'Code
Next
End If
Et cela fonctionne parfaitement bien pour les formes comme dans le pochoir UML par défaut (NameU = « Vue d'ensemble »)
Je sais que je pourrais regrouper les formes, mais ça augmente l'effort.
Un autre point, lorsque j'analyse d'autres formes, je vois avec "MemberOfContainers" que la forme est contenue dans "Package (développé)". Il doit donc être possible d'obtenir l'information de l'autre côté sans passer par toutes les formes.
Ici vous pouvez voir le « paquet » et des formes de « interface »