2010-12-01 63 views
0

j'essaye de faire une boucle à travers des formes collées et il itère une fois puis casse en donnant une "erreur de paramètre invalide" sur Me.Application.ActivePage.Shapes (i) .GluedShapes (visGluedShapesAll2D, "") pendant la deuxième itération. Sûrement s'il fonctionne correctement sur la première itération il devrait fonctionner correctement sur les deuxième et troisième etc ...VBA Pour chaque boucle pour les formes collées d'une forme dans Visio

Dans ce code je cours à travers toutes les formes recherchant un type spécifique, puis je itère à travers le tableau GluedShapes et vérifie si son identifiant est égal à l'identifiant retourné par élément de tableau.

Le code est le suivant:

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 

Merci, toute aide sera appréciée.

Répondre

0

Il n'y a pas besoin de boucle à travers toutes les formes que je pouvais utiliser

Dim s As Shape 
Dim id As Variant 

Set s = Application.ActiveWindow.Page.Shapes.ItemFromID(Selection.PrimaryItem.id) 

id = s.GluedShapes(visGluedShapesAll1D, "")(0) 

Où s est la forme actuelle et me donne ci-dessus id de la première forme ma forme actuelle est collée sous cette forme peut seulement être connecté à une forme parentale.