我正在通过Excel执行代码,我希望它删除PPT中除幻灯片1、2、3和17之外的所有幻灯片。 我似乎无法使其正常工作。
这是一个删除演示文稿中所有幻灯片的片段,如何实现例外?
For i = ppApp.ActivePresentation.Slides.Count To 2 Step -1
ppApp.ActivePresentation.Slides(i).Delete
Next
答案 0 :(得分:0)
简单的做法是将幻灯片17移动到位置4,然后执行以下操作:
Do While ppApp.ActivePresentation.Slides.Count > 4
ppApp.ActivePresentation.Slides(5).Delete
Loop
希望有帮助
答案 1 :(得分:0)
试一下:
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,因此不必进行测试以确保不删除它们。
注意::在测试可删除内容的代码时,总是确保您拥有要从中删除 的备份副本,万一...
答案 2 :(得分:0)
尝试一下:
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
中填写您要保留的纸张即可。