「powerpoint vba 画面 切替 自動 プロパティ」
という検索で、このサイト・インストラクターのネタ帳へのアクセスがありました。
PowerPointでは、上図のような[画面切り替え]タブ-[タイミング]グループ-[自動的に切り替え]チェックボックスで、スライドショー実行時に自動的に次のスライドを表示させるかどうかを設定できます。
「powerpoint vba 画面 切替 自動 プロパティ」
という検索は、この画面の自動切り替えをVBA(Visual Basic for Applications)から行う方法を探している方による検索でしょう。
アクティブなプレゼンテーションファイルで画面切り替えを自動的に行わないようにするサンプルマクロ
参考になりそうな簡単なマクロをご紹介しておきます。
アクティブなプレゼンテーションファイルの、すべてのスライドの、画面自動切り替えをOffにするマクロです。
Dim sld As Slide
For Each sld In ActivePresentation.Slides
sld.SlideShowTransition.AdvanceOnTime = msoFalse
Next sld
上図で利用しているオブジェクトモデルを階層図にすると、以下のとおりです。
PowerPointのマクロとしては、オブジェクトモデルの階層関係がシンプルです。
行っている処理は以下のとおりです。
アクティブなプレゼンテーションの全スライドにFor Each~Nextループを回して、
For Each sld In ActivePresentation.Slides
各スライドのSlideShowTransitionオブジェクトのAdvanceOnTimeプロパティをmsoFalseに設定することで、
sld.SlideShowTransition.AdvanceOnTime = msoFalse
画面の自動切り替えをOffにしています。
全プレゼンテーションファイルで画面切り替えを自動的に行わないようにするサンプルマクロ
アクティブなプレゼンテーションファイルで、画面の自動切り替えを行わないようにするには、手作業でもすぐできますから、実務で役立ちそうなのは、複数のプレゼンテーションファイルの設定をまとめて変更するマクロでしょうか。
以下のようなマクロにすれば、開いているすべてのプレゼンテーションファイルの、すべてのスライドの、画面自動切り替えをまとめてOffにすることができます。
Dim prs As Presentation
Dim sld As Slide
For Each prs In Presentations
For Each sld In prs.Slides
sld.SlideShowTransition.AdvanceOnTime = msoFalse
Next sld
Next prs
オブジェクトモデルの階層は先ほどのマクロより一段深くなります。
開いているすべてのプレゼンテーションファイルにFor Each~Nextループを回して、
For Each prs In Presentations
各プレゼンテーションファイルで、先のマクロと同じ処理を行っています。
For Each sld In prs.Slides
Home » パワーポイントマクロ・PowerPoint VBAの使い方 » スライドショー » 画面の自動切り替えを設定するPowerPoint VBAのプロパティは?