三流君 ken3のmemo置き場

三流プログラマーのメモ書きです。主にVBAやWindowsの話題が多いです

挨拶・自己紹介:
失敗続きのAB型の変わり者 :三流プログラマー Ken3です
フリーのエンジニア・個人事業主です・・と書くと聞こえはイイが(それとなくカッコよく聞こえるが)、 現在は小さな案件の受注請負 と 短期派遣 で 日々つつましく?ほそぼそと暮らしてます。
Ken3三流君の連絡先:
[google formsで連絡する]
上記の問い合わせフォームに質問・感想など気軽に書き込んでください

よく検索されるキーワード: [質問回答XXXXさんへ] [CreateObject] [VBA] [JRA競馬オッズ]

VBA PowerPoint クラスモジュールで WithEvents イベント処理 例題として スライド開始 SlideShowBegin と スライド終了 SlideShowEnd を処理

VBA PowerPoint イベント で検索すると、いろいろなページがヒットします。
今回は、下記公式の
Application オブジェクトでイベントを使用する
https://docs.microsoft.com/ja-jp/office/vba/powerpoint/how-to/use-events-with-the-application-object
を見ながら、テストしていきます。

下記、いつものテスト動画です
www.youtube.com
https://www.youtube.com/watch?v=E837vhWZ09g

スライドショー開始のイベント
スライド終了のイベントにコードを書きたい
ので、

クラスモジュールに EventClassModule とClass1から変更して名称を付けました
タイミング確認のMsgBoxは不要なので取り除いてください

下記のコードを クラスモジュール EventClassModule と名称を付けます。

Option Explicit

Public WithEvents App As Application

Private Sub App_SlideShowBegin(ByVal Wn As SlideShowWindow)
    MsgBox "スライド開始、おちついて"  'ここに時計スタートのコードを書くと良いのでは?
    Debug.Print "スライド開始" & Now
End Sub

Private Sub App_SlideShowEnd(ByVal Pres As Presentation)
    Debug.Print "スライドEnd" & Now   '終了のタイミング
    MsgBox "終了、おつかれさまでした"
End Sub

'SlideShowNextClick こんなイベントもあったりします
Private Sub App_SlideShowNextClick(ByVal Wn As SlideShowWindow, ByVal nEffect As Effect)
    Debug.Print "次がおされた" & Now
    MsgBox "次のスライドです"
End Sub

でイベントがとれると思います。

イベントにコードを書いたら、次は、

標準モジュールに

Option Explicit

Dim X As New EventClassModule

Sub InitializeApp()
    Set X.App = Application
End Sub

Sub スライド開始()
    
   Set X.App = Application  'イベントを拾えるように定義
   
   ActivePresentation.SlideShowSettings.Run  'スライドショー開始

End Sub

などで、クラスモジュールに書いたイベントが走るようにします。

そんな手順を下記で動画にしています※冒頭と同じ動画です
https://www.youtube.com/watch?v=E837vhWZ09g

公式の
Application オブジェクトでイベントを使用する
https://docs.microsoft.com/ja-jp/office/vba/powerpoint/how-to/use-events-with-the-application-object
をみるのが一番だと思いますが、
処理の参考となれば幸いです。


質問・感想・クレームなど、
気軽にコメント欄に書いてもらえるとうれしいです。

[Googleフォームにコメントを残す]
↑質問・コメントの入力フォームです、気軽に書いてください


フッター:最後にKen3Videoの動画一覧を紹介します

YouTubeにアップした動画です。他の動画を一瞬でも見てもらえるとさらに嬉しいです。
再生リスト:[三流君Ken3の最新動画]←リストの一覧形式で表示する


また、ブログを見に来てくださいね。ではまたぁ~