0
シェイプのグルーピングシェイプをループしていて、繰り返し実行してからMe.Application.ActivePage.Shapes(i).GluedShapes( " visGluedShapesAll2D、 "")を繰り返します。確かに最初の反復で正しく実行される場合、2番目と3番目などで正しく実行されるはずです...VBA Visioでシェイプのグループシェイプの各ループについて
このコードでは、特定のタイプを探しているすべての図形を実行しています。次にGluedShapes配列を繰り返してチェックしますidが配列要素ごとに返されたidと等しい場合。次のように
コードは次のとおりです。
For i = 1 To Me.Application.ActivePage.Shapes.Count
If InStr(Me.Application.ActivePage.Shapes(i).Name, "Flow Connector") > 0 Then
For Each j In Me.Application.ActivePage.Shapes(i).GluedShapes(visGluedShapesAll2D, "")
If s.ID = j Then
End If
Next j
End If
Next i
おかげで、任意の助けが理解されるであろう。 sが現在の形で、上記の私の私の現在の形状は、この形状とに接着された第一の形状のIDを与え、私はちょうど
Dim s As Shape
Dim id As Variant
Set s = Application.ActiveWindow.Page.Shapes.ItemFromID(Selection.PrimaryItem.id)
id = s.GluedShapes(visGluedShapesAll1D, "")(0)
を使用することができ、すべての図形をループする必要はありません