三流君 ken3のmemo置き場

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

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

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

VBA(vbs)で パワーポイント スライドショー の 自動実行 に チャレンジ

Excelと同じで、PowerPointでもマクロ記録が使えるみたいです。
マクロ記録を使って スライドショー の 自動実行にチャレンジしてみた そんなお話です。

参考にする:パワーポイントのマクロ
http://homepage2.nifty.com/DreamyCat/PPT010.htm
とか
はてなの情報古いけど http://q.hatena.ne.jp/1103068680
など
上記ページで気になったのが、
>PowerPoint 2007 では「マクロの記録」機能が無くなりましたので
これが意外とキツイかも。。。


コードはこんな感じ?

いきなりコードを見せちゃうけど、
Eドライブの\テスト.pptを開いて、スライドショーで5秒待ってから3ページ送る そんな処理をテストしてみました。
デスクトップにtest.vbsとか適当に作成して下記のコードをテストしてみて下さい。

test.vbs

 Set oApp = CreateObject("PowerPoint.Application")
 oApp.Visible = True '可視にする

 oApp.Presentations.Open("E:\テスト.ppt")

 oApp.ActivePresentation.SlideShowSettings.Run

 For p=1 To 3
     WScript.Sleep(5000) '5秒待つ
     oApp.SlideShowWindows(1).View.Next '次のページ
 Next

 oApp.ActivePresentation.Application.Quit  '抜ける

テスト結果と試行錯誤の動画

下記、テスト結果と試行錯誤の動画です。
http://www.youtube.com/watch?v=SgRPf2535SM
http://www.youtube.com/watch?v=SgRPf2535SM:embed:cite:h400
↑こんな感じで意外と簡単に記録できます。

パワーポイントでもマクロ記録ができる

パワーポイントにも ツール−−マクロ−−マクロ記録 があって、
手動の操作を記録できます。

※下記試しに記録したスライドショーのコード

Sub Macro1()

    With ActivePresentation.SlideShowSettings
        .ShowType = ppShowTypeSpeaker
        .LoopUntilStopped = msoFalse
        .ShowWithNarration = msoTrue
        .ShowWithAnimation = msoTrue
        .RangeType = ppShowAll
        .AdvanceMode = ppSlideShowUseSlideTimings
        .PointerColor.RGB = RGB(Red:=255, Green:=0, Blue:=0)
        .Run
    End With
    
    SlideShowWindows(Index:=1).View.Next
    SlideShowWindows(Index:=1).View.Next
    SlideShowWindows(Index:=1).View.Next
    SlideShowWindows(Index:=1).View.Next
End Sub

マクロ記録を改造?

あとは、いつものようにマクロ記録されたコードを抜き出したり、
検索で例題を探したりして、肉付け や 削り取ったり・・・
そんな開発手法?で うまく やってくださいね。

オイオイ、説明無しカヨ?

えっと、CreateObject PowerPoint.Application で検索するとイロイロサンプルが出てくると思います。
http://www.google.co.jp/search?hl=ja&q=CreateObject+PowerPoint.Application
↑こんな感じで、サンプルが見つかると思います。

以上、パワーポイントでもCreateObject("PowerPoint.Application")が使えるので少しビックリした三流プログラマーの操作動画でした。

PS.続きじゃないけど、

VBScriptPowerPointを起動、スライドショーもどき・・・偶数ページで何かする?
http://d.hatena.ne.jp/ken3memo/20100704/

も よろしくお願いします。

Ken3 ホームページ 目次

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

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



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