0

我正在尝试遍历形状粘连形状,它迭代一次然后在第二次迭代期间中断 Me.Application.ActivePage.Shapes(i).GluedShapes(visGluedShapesAll2D, "") 上的“无效参数错误”。当然,如果它在第一次迭代中正确运行,它应该在第二次和第三次等上正确运行......

在这段代码中,我遍历所有形状以寻找特定类型,然后遍历 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

谢谢,任何帮助将不胜感激。

4

1 回答 1

0

无需遍历我可以使用的所有形状

 Dim s As Shape
 Dim id As Variant

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

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

其中 s 是当前形状,上面给出了我当前形状粘到的第一个形状的 id,因为这个形状只能连接到一个父形状。

于 2010-12-01T14:05:57.313 回答