Я думаю, что лучший способ найти любые фигуры, которые вы хотите удалить, - это перебрать все фигуры на текущем слайде и вызвать функцию, которая проверяет, соответствует ли данная фигура вашим критериям.
Этобудет выглядеть примерно так, как показано ниже. По сути, любое несоответствующее условие достаточно, чтобы сказать, что фигуру не следует удалять. Поэтому функция запускается, предполагая, что фигура должна быть удалена до тех пор, пока не найдет какое-либо условие, указывающее на иное, в этот момент она меняет возвращаемое значение на false и прекращает проверку для данной фигуры.
Dim i as Long
Dim sh as Shape
For i = ActiveWindow.View.Slide.Shapes.Count to 1 Step -1
Set sh = ActiveWindow.View.Slide.Shapes(I)
If ShouldBeDeleted(sh) Then
sh.Delete
End If
Next
'...
Function ShouldBeDeleted(sh as Shape) as Boolean
ShouldBeDeleted = True
'Repeat this IF structure for each criteria.
If sh.Fill.Visible <> msoTrue Then
ShouldBeDeleted = False
Exit Function
End If
If Not sh.HasTextFrame Then
ShouldBeDeleted = False
Exit Function
End If
'... keep repeating these if structures.
End Function