感谢道格: - )
我需要一个非程序员的想法如何实现迭代组。
我从SO开始,只要我只接受形状的.Names就可以正常工作。
但我也需要尝试检查组中每个项目的类型 我对形状有一整套问题(Sub CheckTextConformity)
这是运行时的代码 - 但忽略了组。我开始想要为组调用A子例程 - 但是如果组也包含组等,那该怎么办?
从Sub CheckAndReportOhneGroups()我调用Sub WhatTypes ...并根据我调用CheckTextConformity的类型给我关于形状的信息(特别是文本信息)。
答案 0 :(得分:5)
要处理群组(以及群组内的群组),请使用以下内容:
Sub Example()
Dim oSh As Shape
Dim oSl As Slide
For Each oSl In ActivePresentation.Slides
For Each oSh In oSl.Shapes
If oSh.Type = msoGroup Then
'Debug.Print "GROUP"
Call DealWithGroups(oSh)
Else
Debug.Print oSh.Name & vbTab & oSh.Type
End If
Next
Next
End Sub
Sub DealWithGroups(oSh As Shape)
Dim x As Long
Debug.Print "GROUP"
For x = 1 To oSh.GroupItems.Count
If oSh.GroupItems(x).Type = msoGroup Then
Call DealWithGroups(oSh.GroupItems(x))
Else
Debug.Print vbTab & oSh.GroupItems(x).Name & vbTab & oSh.GroupItems(x).Type
End If
Next
End Sub
是。蛇正在吃自己的尾巴。 ; - )