VBA一次删除所有幻灯片

时间:2016-08-10 02:44:44

标签: vba

我找到了一段代码,除了活动的(索引1)之外,逐个删除所有ppt幻灯片。但是,任何人都可以帮我重写这段代码,以便在一次点击中操作代码。我不想循环每张幻灯片,因为大约有300张幻灯片要删除。这是我的代码:

Sub Deleteslides()

'This deletes all slides except Active Main one.

Dim Pre As Presentation
Set Pre = ActivePresentation
Dim x As Long
For x = Pre.Slides.Count To 2 Step -1
    Pre.Slides(x).delete
Next x

End Sub

2 个答案:

答案 0 :(得分:4)

Sub Deleteslides()

    Dim Pre As Presentation, arr(), x As Long, n As Long
    Set Pre = ActivePresentation
    ReDim arr(0 To Pre.Slides.Count - 2)
    n = 0
    For x = Pre.Slides.Count To 2 Step -1
        arr(n) = x
        n = n + 1
    Next x
    Pre.Slides.Range(arr).Delete

End Sub

答案 1 :(得分:0)

不是删除所有幻灯片,大概是为了保存模板,为什么不保存模板并从中开始工作?让您的应用程序关闭演示文稿并使用模板打开一个新的演示文稿吗?