Home » パワーポイントマクロ・PowerPoint VBAの使い方 » アニメーション » Sequenceはコレクション、Itemで取得できる単独オブジェクトはEffect

Sequenceはコレクション、Itemで取得できる単独オブジェクトはEffect

動作検証バージョン:64bit Windows 10 Pro + 32bit PowerPoint(バージョン2004 ビルド12730.20250 Microsoft Store)

アニメーションを設定するPowerPoint VBAのコードをご紹介しました。

アニメーションに関連するオブジェクトには、注意すべき点がいくつかあります。

[スポンサードリンク]

アニメーションを削除する場合は、意味があまりわからないままコピー&ペーストしただけでも、まあ、済むのかもしれませんが、設定を行いたい場合、オブジェクトの構造をしっかりと理解しておかないと自分でコードを書くことはできないはずです。

まず意識していただきたいのは、Sequenceオブジェクトがコレクションであり、含まれる単独のオブジェクトがEffectオブジェクトであるという点です。

Sequenceがコレクションであることの確認

Sequenceオブジェクトがコレクションであることは、オブジェクトブラウザーから判断できます。

拙著『いちばんやさしいPowerPoint VBAの教本』の、Lesson 10で、コレクションには含まれる単独のオブジェクトの数を取得するCountプロパティと、単独のオブジェクトを取得するItemメソッド(またはItemプロパティ)が存在することを解説しています。

オブジェクトブラウザーでSequenceオブジェクトを確認すれば、CountプロパティとItemメソッドが存在することがわかります。

以下のようなFor Each~Next文を実行してみると、実行時エラーは発生しませんから、Sequenceオブジェクトはコレクションであることを実証できます。

Sub コレクションを確認する()
 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

[スポンサードリンク]

Home » パワーポイントマクロ・PowerPoint VBAの使い方 » アニメーション » Sequenceはコレクション、Itemで取得できる単独オブジェクトはEffect

「アニメーション」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.