三流君 ken3のmemo置き場

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

挨拶・自己紹介:
失敗続きのAB型の変わり者 :三流プログラマー Ken3です
フリーのエンジニア・個人事業主です・・と書くと聞こえはイイが(それとなくカッコよく聞こえるが)、 現在は小さな案件の受注請負 と 短期派遣 で 日々つつましく?ほそぼそと暮らしてます。

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

VBA マクロでパワーポイント スライドショーのイベントを取りたくて WithEventsのテスト

http://q.hatena.ne.jp/1278176601 の コメント欄をみるとできたみたいなので、蛇足ですが
ページ数も

Wn.View.CurrentShowPosition
でどうやらページ数取れそうです。

と自己解決してるし、蛇足ですがいつもの動画作成のネタにしてみました。

やりたかったこと、テスト内容

パワーポイントのスライドショーのページが変わったときのイベントを取りたくて、
http://support.microsoft.com/kb/234184/ja
を 参考にして WithEventsのテストを行ってみました。
_SlideShowNextClick で スライドショーのイベントを(タイミングを)取ることができました。
で、現在表示のページ番号は Wn.View.CurrentShowPosition

クラスモジュールに書く Class1 の名前で作成

Option Explicit

' PPT2000 アプリケーション レベルのイベント ハンドラーを作成します。
' http://support.microsoft.com/kb/234184/ja を 参考にして WithEventsのテスト
Public WithEvents appevent As Application

Private Sub appevent_PresentationNewSlide(ByVal Sld As Slide)
    MsgBox "PresentationNewSlide"
End Sub

Private Sub appevent_SlideShowNextClick(ByVal Wn As SlideShowWindow, ByVal nEffect As Effect)
    MsgBox "SlideShowNextClick page=" & Wn.View.CurrentShowPosition
    Debug.Print Wn.Presentation.Name  '普通の名前だった。 テスト.pptとかファイル名

End Sub

下記は標準モジュールに(上記のClass1 の名前で作成したイベントを使う・結びつける)

Option Explicit

Dim myobject As New Class1

Sub StartEvents()
   Set myobject.appevent = Application
End Sub

Sub StopEvents()
   Set myobject.appevent = Nothing
End Sub

テスト動画は http://www.youtube.com/watch?v=a3WashD4bUY をみて下さい。
www.youtube.com

続き

内容が似ているけど、
http://d.hatena.ne.jp/ken3memo/20100815/1281879146
↑続きの記事です。こちらも合わせてみてください。

Ken3 ホームページ 目次

分類:HPを大きく分けると4つの柱(分類)です。

  1. [VBA・マクロ プログラミング]の解説
    当店の人気はVBA系のCreateObject("XXXXXX.application")で他のアプリケーションを操作するサンプルが人気です
  2. [プログラマーの愚痴]では、あまり見せたくない三流プログラマーの内面かな。
    三流君を踏み台にする
  3. [古いクラシック ASP(Active Server Pages)]の解説。
  4. [元コンビニ店長時代の話]が弟に巻き込まれ、失敗した脱サラ、畑違い?の仕事で失敗。
主に上記4つの分類でHP作成やメルマガの発行を行ってます。
※更新頻度が落ちていて情報の鮮度が悪いです。



本当に三流なんです(笑):たまにスゴイですねなんて言われることもありますが、
真実は→ [三流君の真実は...] ←を初めに見てくださるとわかると思います。
(からくりは、成功例↑しか載せてなくて ヒドイ失敗例はお蔵入り迷宮入りが多かったりします)