2016-08-10 65 views
3

アクティブなもの(インデックス1)を除いて、すべてのpptスライドを1つずつ削除するコードを見つけました。しかし、誰でもこのコードを書き直して、コードを1回実行するのに役立ちます。私は、削除する約300のスライドがあるので、各スライドをループしたくありません。代わりにあなたのスライドのすべてを削除するのでVBA一度にすべてのスライドを削除

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 

答えて

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 
+0

ありがとうございます。コードは完全に機能しました。 – Camille

0

、あなたのテンプレートを保つことができるので、おそらく、なぜちょうどそれから、テンプレートや作業を保存しない:これは私が持っているコードですか?アプリケーションでプレゼンテーションを閉じて、テンプレートで新しいアプリケーションを開きますか?

+0

はい、これはオプション2です。私はこれについて考えます。ありがとう。 – Camille

関連する問題