Home » パワーポイントマクロ・PowerPoint VBAの使い方 » スライドショー » スライドショー実行中にマクロを自動的に実行する-OnSlideShowPageChange

スライドショー実行中にマクロを自動的に実行する-OnSlideShowPageChange

対象:PowerPoint2003, PowerPoint2007, PowerPoint2010, PowerPoint2013

スライドショーの実行中に、マクロを自動的に実行したいということがあります。

そんなときに役立ちそうなマクロをご紹介しておきます。

[スポンサードリンク]

OnSlideShowPageChangeプロシージャのサンプル

OnSlideShowPageChangeという名前の、Subプロシージャ(マクロ)を用意しておくと、スライドショーの実行中に、自動的に実行させることができます。

▼スライドショー中に自動的に実行されるマクロの例
Sub OnSlideShowPageChange(ByVal ss As SlideShowWindow)
 Dim n As Long
 n = ss.View.CurrentShowPosition

 Select Case n
  Case 1
    MsgBox "スライドショーが開始されました。"
  Case 3
    MsgBox "3枚目のスライドが表示されました。"
  Case Else
 End Select
End Sub

上記のSubプロシージャの含まれているプレゼンテーションファイルでスライドショーを開始すると、
「スライドショーが開始されました。」
というメッセージが表示され、スライドショーを進め3枚目のスライドが表示されると
「3枚目のスライドが表示されました。」
というメッセージが表示されます。

ポイントは、OnSlideShowPageChangeという名前です。

上記のプロシージャを作成するのは、通常マクロを作るのと同じ標準モジュールでOKです。

クラスモジュールやスライドモジュールである必要はありません。

サンプルマクロの中身

スライドショー実行中に自動的にマクロを実行したいという要望の場合、特定のスライドが表示されたときに何らかの処理を行いたいということが多いような気がしますので、上記のOnSlideShowPageChangeプロシージャは、そのようなサンプルにしています。

スライドショー実行中には、SlideShowWindowオブジェクトの、SlideShowViewオブジェクトの、CurrentShowPositionプロパティで、アクティブなスライド番号が取得できますから、
 n = ss.View.CurrentShowPosition
で、変数・nにスライド番号を格納して、以後、Select Case文で、変数・nの値に応じて処理を切り分けています。

関連語句
VBA, Visual Basic for Applications, PPT
[スポンサードリンク]

Home » パワーポイントマクロ・PowerPoint VBAの使い方 » スライドショー » スライドショー実行中にマクロを自動的に実行する-OnSlideShowPageChange

「スライドショー」の記事一覧

検索


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

.