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
您要保留的表格。
我正在通过 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
您要保留的表格。