2010-12-01 26 views
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) 

を使用することができ、すべての図形をループする必要はありません

答えて

0

することができます1つの親シェイプにのみ接続できます。

関連する問題