パワーポイントの特定のスライドを一括で非表示スライドにする【VBAのサンプルコード】

パワーポイントの特定のスライドを一括で非表示スライドにしたいことがよくあります。

例えば以下のような研修のテキストにおいて。

印刷したくないスライドもある

テキスト用に印刷するスライドと、プレゼン用にプロジェクタに投影するスライドは違うことがあります。

非表示スライドに設定
非表示スライドを印刷する設定

いままでは、研修のつど、

  1. テキスト用に印刷したくないスライドは非表示スライドにしてから印刷する。
  2. 研修当日に一枚一枚のスライドの「非表示スライドに設定」チェックを外す。

といったことを繰り返していました。

しかし、このVBAのスクリプトを使えば、特定のスライドを一括で非表示スライドにできます。

なお、非表示にしたいスライドのタイトルには"★"が入力されているという前提です。

パワーポイントの特定のスライドを一括で非表示スライドにする
あらかじめ★マークを付けたスライドの例
Sub 一括非表示()
  Const FIND_TXT = "★"

  Dim shp As Shape
  Dim sld As Slide
 
  For Each sld In ActivePresentation.Slides
  
    For Each shp In sld.Shapes
    With shp
      If .HasTextFrame Then
        If InStr(.TextFrame.TextRange.Text, FIND_TXT) _
        > 0 Then
          sld.SlideShowTransition.Hidden = msoTrue
        End If
      End If
    End With
    Next
  
  Next

End Sub

参考にさせていただいたサイト

以上、パワーポイントの特定のスライドを一括で非表示スライドにするVBAのサンプルコードでした。