Office関連

PowerPointの自動実行マクロ

ExcelのAuto_OpenやWordのAutoOpenのように、PowerPointにもコードを記述するだけで、あるタイミングで自動的に実行されるマクロが用意されています。

・OnSlideShowPageChange
・OnSlideShowTerminate
・OnSlideShowNextBuild
・OnSlideShowPreviousBuild

・標準モジュール

Option Explicit

Public Sub OnSlideShowPageChange(ByVal Wn As SlideShowWindow)
'スライドショーでページが変わったときに実行されます。
  Debug.Print "1.OnSlideShowPageChange"
End Sub

Public Sub OnSlideShowTerminate(ByVal Wn As SlideShowWindow)
'スライドショーが終了したときに実行されます。
  Debug.Print "2.OnSlideShowTerminate"
End Sub

Public Sub OnSlideShowNextBuild(ByVal Wn As SlideShowWindow)
'スライド上のアニメーションの動作が進んだときに実行されます。
  Debug.Print "3.OnSlideShowNextBuild"
End Sub

Public Sub OnSlideShowPreviousBuild(ByVal Wn As SlideShowWindow)
'スライド上のアニメーションの動作が戻ったときに実行されます。
  Debug.Print "4.OnSlideShowPreviousBuild"
End Sub

それぞれのマクロについてはコメントで説明を付けた通りですが、「OnSlideShowNextBuild」と「OnSlideShowPreviousBuild」については、動作の説明が難しく直観的に理解し難いマクロだと思いますので、どういったタイミングで実行されるのかは、実際にアニメーションを設定したスライドショーを実行して確認していただければと思います。

上記マクロは「[PowerPoint]Applicationオブジェクトのイベントを利用する」で紹介しているような方法でイベントをハンドリングする必要がありませんので、下記のようなスライドショー開始時にマクロを実行したい場合には手軽に利用できて便利だと思います。

Option Explicit

Public Sub OnSlideShowPageChange(ByVal Wn As SlideShowWindow)
'スライドショー開始時にポインタを「表示」にするマクロ
  If Wn.View.CurrentShowPosition = Wn.Presentation.SlideShowSettings.StartingSlide Then _
  Wn.View.PointerType = ppSlideShowPointerArrow
End Sub

また、スライドショーの実行時やページ変更時にマクロを実行したいときに便利な「OnSlideShowPageChange」マクロですが、ppsppsmといったマクロが有効なスライドショー形式のファイルを実行した場合には処理が実行されません。

こういったときはスライド上に適当なActiveXコントロール(コマンド ボタン等)を追加することでマクロが実行されるようになります。

PowerPoint-AutoMacro_01_01

■ 参考Webページ:

・Events supported by PowerPoint
http://officeone.mvps.org/vba/events_version.html
・OnSlideShowPageChange event does not fire
http://www.pptfaq.com/FAQ01152_OnSlideShowPageChange_event_does_not_fire.htm

Adobe Reader XIを利用してPDFファイルのページ数を取得するVBAマクロ前のページ

ドラッグ&ドロップでExcelのアドインを登録するVBScript次のページ

関連記事

  1. Office関連

    日経ソフトウエア 2014年 10月号 「VBAでExcelを業務アプリ化」

    購読している雑誌、日経ソフトウエア 2014年 10月号に「イベントプ…

  2. Office関連

    Outlookの連絡先をvcf形式で一括保存する方法

    Outlookの連絡先をvcf形式で保存する場合、通常は「連絡先を v…

  3. Office関連

    マクロで実行したいコマンドのIDを調べる簡単な方法

    MSDN フォーラムに下記質問がありました。・Excel-VB…

  4. Excel

    UIAutomationClient参照時にDLL読み込みエラーが発生した時の対処法

    マクロでダイアログやボタンの操作を行う時に便利なUI Automati…

  5. Office アドイン

    [Officeアドイン]ワークシートで選択範囲を変更したときに発生するイベント

    ワークシート上で選択範囲の変更を検知する際、VBAでは通常「Works…

  6. Office関連

    右クリックから図形の配置 for Office 2013

    HPの掲示板に"右クリックから「配置」を実行できないか?"という質問が…

コメント

  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

Time limit is exhausted. Please reload CAPTCHA.

Translate

Chinese (Simplified)Chinese (Traditional)EnglishFrenchGermanJapaneseKoreanRussianSpanish

最近の記事

アーカイブ

PAGE TOP