Для удаления содержимого слайдов с помощью Excel вы можете использовать следующий код:
Option Explicit
Sub remove_previous_shapes_in_PPT()
Dim sl As PowerPoint.Slide, sl_cnt As Long, pr As Object, pr_name As String, ppt As Object
Dim i As Long, j As Long
Set ppt = GetObject(, "PowerPoint.Application")
Set pr = ppt.Presentations(1)
sl_cnt = pr.Slides.Count
For j = sl_cnt To 2 Step -1
Set sl = pr.Slides(j)
For i = sl.Shapes.Count To 1 Step -1
sl.Shapes(i).Delete
Next i
Next j
End Sub
При этом используется циклический просмотр количества слайдов и вложенный цикл прохождения фигур внутри слайда. В приведенном выше коде я оставляю слайд 1 один (вы можете просто изменить цикл для j
, чтобы перейти к 1, а не 2, если вы хотите удалить содержимое первого слайда).
Обратите внимание на элементы, помеченные as Object
против тех, которые связаны с ссылками PPT. Я не прошел через шаги по использованию вашего конкретного PPT, поскольку я обычно имею дело с GetObject()
для активного окна PPT, когда открыта только 1 презентация.