アニメーションを設定するPowerPoint VBAのコードをご紹介しました。
アニメーションに関連するオブジェクトには、注意すべき点がいくつかあります。
アニメーションを削除する場合は、意味があまりわからないままコピー&ペーストしただけでも、まあ、済むのかもしれませんが、設定を行いたい場合、オブジェクトの構造をしっかりと理解しておかないと自分でコードを書くことはできないはずです。
まず意識していただきたいのは、Sequenceオブジェクトがコレクションであり、含まれる単独のオブジェクトがEffectオブジェクトであるという点です。
Sequenceがコレクションであることの確認
Sequenceオブジェクトがコレクションであることは、オブジェクトブラウザーから判断できます。
拙著『いちばんやさしいPowerPoint VBAの教本』の、Lesson 10で、コレクションには含まれる単独のオブジェクトの数を取得するCountプロパティと、単独のオブジェクトを取得するItemメソッド(またはItemプロパティ)が存在することを解説しています。
オブジェクトブラウザーでSequenceオブジェクトを確認すれば、CountプロパティとItemメソッドが存在することがわかります。
以下のようなFor Each~Next文を実行してみると、実行時エラーは発生しませんから、Sequenceオブジェクトはコレクションであることを実証できます。
Dim itm
For Each itm In ActivePresentation.Slides(1).TimeLine.MainSequence
Next
End Sub
Sequence.Itemメソッドの戻り値はEffectオブジェクト
Excel VBAのWorkbooksとWorkbookのように、コレクションでもあるオブジェクトの名前は、コレクションに含まれる単独のオブジェクトの複数形になっているケースが少なくありません。ただしこれは絶対的なルールではなく、そのようなケースが結構あるというだけに過ぎません。
Sequenceコレクションの場合は、このルールに当てはまりません。Sequence.Itemメソッドが返す単独のオブジェクトは、
Effectオブジェクトです。
Sequence.AddEffectメソッドの戻り値もEffectオブジェクト
ご紹介済みの、アニメーションを設定するコードで利用しているSequence.AddEffectメソッドの戻り値も、
オブジェクトブラウザーの詳細ペインに「As Effect」と表示されているとおり、Effectオブジェクトです。
PowerPoint VBAでアニメーションの設定を行うためには、他にも理解すべき点はありますが、まずはSequenceオブジェクトがコレクションであり、Sequence.Itemメソッドで取得できる単独のオブジェクトがEffectであることを意識してください。
そもそも拙著で解説している、PowerPoint VBAの基本的なオブジェクトを理解していなければならないことは、言うまでありません。
最終更新日時:2020-05-21 10:23
- Newer:xlrdでセルのデータ種別を確認する
- Older:Collectionが空か判定する
Home » パワーポイントマクロ・PowerPoint VBAの使い方 » アニメーション » Sequenceはコレクション、Itemで取得できる単独オブジェクトはEffect