Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel VBA:删除除特定幻灯片以外的所有幻灯片(在PPT中)_Excel_Vba_Powerpoint - Fatal编程技术网

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

Excel VBA:删除除特定幻灯片以外的所有幻灯片(在PPT中),excel,vba,powerpoint,Excel,Vba,Powerpoint,我正在通过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

我正在通过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
对于i=ppApp.ActivePresentation.Slides.Count到4步骤-1
如果我17岁
ppApp.ActivePresentation.Slides(i).删除
如果结束
下一个
这将删除除这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
只需将要保留的纸张填入
arrsheetstokep