拙著『いちばんやさしいPowerPoint VBAの教本』では、PowerPointのもっとも基本的なオブジェクトについてのみを解説し、アニメーションの設定には一切触れていません。
しかし、PowerPoint VBAでアニメーションを設定したいという要望は、結構あるようです。
「PPT マクロ アニメーション」
「パワポ VBA アニメーション」
「パワーポイント VBA アニメーション設定」
といった検索キーワードで、このサイト『インストラクターのネタ帳』へのアクセスも時折あります。
そういった方に向けて、簡単なPowerPointマクロをご紹介しておきます。
アニメーションを設定するサンプル
アクティブなプレゼンテーションの、先頭スライドに、図形が1つだけ存在する状態で、以下のSubプロシージャを実行してください。With ActivePresentation.Slides(1)
.TimeLine.MainSequence.AddEffect _
Shape:=.Shapes(1), effectId:=msoAnimEffectFade
End With
End Sub
開始アニメーション「フェード」が、
.TimeLine.MainSequence.AddEffect _
Shape:=.Shapes(1), effectId:=msoAnimEffectFade
設定されます。
Sequence.AddEffectでアニメーション効果を追加
Sequenceオブジェクトに用意されているAddEffectメソッドで、
図形にアニメーション効果を追加できます。
どの図形に設定するかは、引数Shapeで、
.TimeLine.MainSequence.AddEffect _
Shape:=.Shapes(1), effectId:=msoAnimEffectFade
どのような効果を設定するかは、引数effectIdで指定します。
.TimeLine.MainSequence.AddEffect _
Shape:=.Shapes(1), effectId:=msoAnimEffectFade
引数effectIdには、MsoAnimEffect列挙に定義されている定数を指定できます。
アニメーション設定はSlide下のオブジェクトで設定
PowerPoint上でアニメーションの設定操作は図形に対して行いますから、Shapeオブジェクト下の、いずれかのオブジェクトのプロパティまたはメソッドを利用すると考えてしまう方がいるかもしれませんが、違います。Slideオブジェクトからたどっていく、
With ActivePresentation.Slides(1)
Sequenceオブジェクトを利用し、どの図形に設定するのかは、Sequence.AddEffectメソッドの引数で指定します。
.TimeLine.MainSequence.AddEffect _
Shape:=.Shapes(1), effectId:=msoAnimEffectFade
オブジェクトブラウザーを使って階層構造を確認しましょう
拙著でも繰り返し行っているように、オブジェクトブラウザーを使って、上記のコードで利用している、
Slideオブジェクト
└ TimeLineオブジェクト ← Slide.TimeLineプロパティ
└ Sequenceオブジェクト ← TimeLine.MainSequenceプロパティ
└ AddEffectメソッド
というオブジェクトモデルを理解しましょう。
Microsoftの公式ヘルプに、一応リンクを貼っていますけれど、日本語訳が残念な状態ですから、英語で読むことをおすすめします。
Slideオブジェクトに用意されているTimeLineプロパティで、
With ActivePresentation.Slides(1)
.TimeLine.MainSequence.AddEffect _
TimeLineオブジェクトを取得して、
TimeLineオブジェクトに用意されているMainSequenceプロパティで、
With ActivePresentation.Slides(1)
.TimeLine.MainSequence.AddEffect _
Sequenceオブジェクトを取得しています(MainSequenceオブジェクトではありません)。
最終更新日時:2020-05-20 17:48
- Newer:Word VBAでRangeを1文字広げる-End・Startプロパティ
- Older:TEXTJOIN関数をVBAで
Home » パワーポイントマクロ・PowerPoint VBAの使い方 » アニメーション » PowerPoint VBAでアニメーションを設定する