Home » パワーポイントマクロ・PowerPoint VBAの使い方 » アニメーション » アニメーションの設定されている図形を非表示にするPowerPointマクロ

アニメーションの設定されている図形を非表示にするPowerPointマクロ

対象:PowerPoint2003, PowerPoint2007, PowerPoint2010, PowerPoint2013

アニメーションの設定されている図形を一気に非表示にしたい、と感じることがありました。

私が講師を担当するセミナーでは、スライドショー中にクリックすると文字が表示される、いわゆる「もんたメソッド」で作ったプレゼンテーションファイルを利用しています。

通常は、文章の一部を穴埋めできるような状態で配布資料を印刷しているのですが、穴埋め形式ではない状態、文字がすべて表示されている配布資料を印刷する必要があり、文字を隠している図形を一気に非表示にしたいと感じたのです。

そのためのマクロを、VBA(Visual Basic for Applications)で作成したのでご紹介しておきます。

[スポンサードリンク]

アクティブなスライドでアニメーションの設定されている図形を非表示にする

以下のマクロは動かないケースがあるようなので、別のマクロを公開しました。(2014-06-06追記)


最終的には、すべてのスライドで、アニメーションの設定されている図形を非表示にしたかったのですが、まずは、アクティブなスライドで、アニメーションの設定されている図形だけを非表示にするマクロを作りました。

Sub アクティブスライドでアニメーションの設定されている図形を非表示にする()

 Dim shp As Shape
 Dim msg As String

 msg = "アクティブなスライドから、アニメーションの設定されている図形を非表示にしますか?"
 If MsgBox(msg, vbYesNo + vbDefaultButton2) = vbNo Then Exit Sub

 With ActiveWindow.Selection.SlideRange
  For Each shp In .Shapes
  With shp
   If .AnimationSettings.Animate = msoTrue Then
    .Visible = msoFalse
   End If
  End With
  Next shp
 End With

End Sub

アクティブなスライドの、
 With ActiveWindow.Selection.SlideRange

すべての図形にループを回して、
  For Each shp In .Shapes

アニメーションが設定されているかをチェックして、設定されていれば、
  With shp
   If .AnimationSettings.Animate = msoTrue Then

その図形を日表示にしています。
 .Visible = msoFalse

全スライドのアニメーションの設定されている図形を非表示にする

上記の処理を、すべてのスライドに対して実行すれば、本来の目的のマクロになります。

Sub すべてのアニメーションの設定されている図形を非表示にする()

 Dim sld As Slide
 Dim shp As Shape
 Dim msg As String

 msg = "すべてのスライドの、アニメーションの設定されている図形を非表示にしますか?"
 If MsgBox(msg, vbYesNo + vbDefaultButton2) = vbNo Then Exit Sub

 For Each sld In ActivePresentation.Slides

  For Each shp In sld.Shapes
  With shp
   If .AnimationSettings.Animate = msoTrue Then
    .Visible = msoFalse
   End If
  End With
  Next shp

 Next sld

End Sub

アクティブなプレゼンテーションファイルの、すべてのスライドに対してループを回して、
 For Each sld In ActivePresentation.Slides

そのループの中で、すべての図形にループを回して、
  For Each shp In sld.Shapes

アニメーションの設定されている図形であれば、
  With shp
   If .AnimationSettings.Animate = msoTrue Then

非表示にしています。
    .Visible = msoFalse

全スライドの非表示図形を表示する

一旦非表示にした図形を、すべて表示する処理も必要でしたから、これもマクロにしました。

Sub すべての非表示の図形を表示する()

 Dim sld As Slide
 Dim shp As Shape
 Dim msg As String

 msg = "すべてのスライドの非表示図形を、すべて表示しますか?"
 If MsgBox(msg, vbYesNo + vbDefaultButton2) = vbNo Then Exit Sub

 For Each sld In ActivePresentation.Slides

  For Each shp In sld.Shapes
   shp.Visible = msoTrue
  Next shp

 Next sld

End Sub
[スポンサードリンク]

Home » パワーポイントマクロ・PowerPoint VBAの使い方 » アニメーション » アニメーションの設定されている図形を非表示にするPowerPointマクロ

「アニメーション」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.