Ich kann die Informationen der Methode SpartialNeighbors nicht aus einer "Package (expanded)" Form erhalten.Visio: Wie erhalten Sie die Formen, die in einer Form enthalten sind?
Normalerweise verwende ich diesen 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
Und das funktioniert völlig in Ordnung für Formen wie in der Standard-UML-Schablone (nameU = „Übersicht“)
Ich weiß, ich kann die Formen-Gruppe, aber es erhöht die Anstrengung.
Ein weiterer Punkt, wenn ich andere Formen analysiere sehe ich mit "MemberOfContainers", dass die Form in "Paket (erweitert)" enthalten ist. Es muss also möglich sein, die Information von der anderen Seite zu bekommen, ohne alle Formen zu durchlaufen.
Hier können Sie das „Paket“ und Formen der „Schnittstelle“