VBA: 删除除特定幻灯片外的所有幻灯片(PPT)

VBA: Delete all slides (in PPT) except for specific ones

我正在通过 Excel 执行代码,我希望它删除我的 PPT 中除幻灯片 1、2、3 和 17 之外的所有幻灯片。 我似乎无法让它工作。

这里有一个删除演示文稿中所有幻灯片的片段,如何实现异常?

    For i = ppApp.ActivePresentation.Slides.Count To 2 Step -1
             ppApp.ActivePresentation.Slides(i).Delete
    Next

最简单的方法是将幻灯片 17 移动到位置 4,然后执行以下操作:

Do While ppApp.ActivePresentation.Slides.Count > 4
        ppApp.ActivePresentation.Slides(5).Delete
    Loop

希望对您有所帮助

试一试:

For i = ppApp.ActivePresentation.Slides.Count To 4 Step -1
  If I <> 17 then
    ppApp.ActivePresentation.Slides(i).Delete
  End If
Next

这将删除除那 4 张幻灯片之外的所有幻灯片,无论您开始使用多少张幻灯片。通过在幻灯片 #4 停止循环,您甚至不会考虑幻灯片 1、2 或 3,因此您不必进行测试以确保您没有删除它们。

注意:在测试删除内容的代码时,始终确保您拥有所删除内容的备份副本来自,以防万一...

试试这个:

Dim arrSheetsToKeep As Variant
arrSheetsToKeep = Array(1, 2, 3, 17)    

For i = ppApp.ActivePresentation.Slides.Count To 1 Step -1

    If IsError(Application.Match(i, arrSheetsToKeep, False)) Then

             ppApp.ActivePresentation.Slides(i).Delete

    End If        
Next

只需填写arrSheetsToKeep您要保留的表格。