Как удалить из презентации PowerPoint слайды, соответствующие определённому условию

Есть презентация PowerPoint. Нужно пройти по слайдам презентации и найти слайды, содержащие таблицу из одной строки. Такие слайды надо удалить

P.S. Простите за такой тупой вопрос, пожалуйста, но у меня проект на 50 000 строк, полный говонокода. Писала этот проект не я. Там генерится автоматически презентация, в которой появляются бракованные слайды. Я блин три причины нашла, по которым они могут появляться, и все исправила. А они всё появляются! Фиксить надо срочно, я уже не соображаю( Простите


Ответы (2 шт):

Автор решения: Алексей Р
Sub del_slides_one_table_row()
    Set Slides = ActivePresentation.Slides
    For i = Slides.Count To 1 Step -1 ' перебираем слайды задом наперед, чтобы их удаление не меняло индексы еще не обработанных слайдов
        Set Slide = ActivePresentation.Slides(i)
        tables_count = 0
        table_one_row = False
        For Each Shape In Slide.Shapes ' перебираем фигуры на слайде
            If Shape.HasTable Then ' есть ли в фигуре таблица?
                tables_count = tables_count + 1
                table_one_row = Shape.Table.Rows.Count = 1
            End If
        Next
        If tables_count = 1 And table_one_row Then Slide.Delete ' если на слайде ровно 1 таблица и в ней 1 строка, удаляем слайд
    Next
End Sub
→ Ссылка
Автор решения: Fox Fox
Sub DeleteSlidesWithSingleRowTable()
    Dim slide As slide
    Dim shape As shape
    Dim table As table

    For Each slide In ActivePresentation.Slides
        For Each shape In slide.Shapes
            If shape.HasTable Then
                Set table = shape.Table
                If table.Rows.Count = 1 Then
                    slide.Delete
                    Exit For
                End If
            End If
        Next shape
    Next slide
End Sub
→ Ссылка