Home » パワーポイントマクロ・PowerPoint VBAの使い方 » プレースホルダー » PlaceholderFormat.Parentの戻り値は?

PlaceholderFormat.Parentの戻り値は?

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

「PlaceholderFormat.Parent VBA」
といった検索キーワードで、このサイト『インストラクターのネタ帳』へアクセスがありました。

PowerPoint VBAで、PlaceholderFormatオブジェクトに用意されているParentプロパティの戻り値が何なのか、

PowerPoint.PlaceholderFormat.Parent

調べていらしたのでしょうか。

[スポンサードリンク]

PlaceholderFormat.Parentの戻り値はShape

結論からお伝えすると、PlaceholderFormat.Parentプロパティの戻り値はShapeオブジェクトです。

PowerPoint.Shape

「PlaceholderFormat.Parent VBA」
と検索なさった方は、PlaceholderFormat.Parentプロパティの戻り値が、「Placeholder」といった名前のオブジェクトだろうと思い込んでいらしたような気がしますが、違います。

Placeholderオブジェクトは存在しない

拙著『いちばんやさしいPowerPoint VBAの教本』の、「Lesson 30 図形を表すオブジェクトのイメージをつかみましょう」でも解説しているとおり、PowerPoint VBAにPlaceholderオブジェクトは存在しません。Placeholdersコレクションは存在しますけれど、Placeholderオブジェクトはありません。

PowerPoint.Placeholders

もしもPlaceholderオブジェクトが存在していたならば、オブジェクトブラウザーのクラスペインで、「PlaceholderFormat」の上に「Placeholder」が表示されるはずです。

PlaceholderFormat.Parentの戻り値を確認しよう

PlaceholderFormat.Parentの戻り値がShapeオブジェクトであることを、拙著でも繰り返し利用しているローカルウィンドウで確認しましょう。

Sub PlaceholderFormatのParentを確認する()
 Dim pfmt As PlaceholderFormat
 Set pfmt = ActivePresentation.Slides(1).Shapes.Placeholders(1).PlaceholderFormat
End Sub

上記のSubプロシージャをステップ実行して、代入文の実行後にローカルウィンドウを見れば、

PlaceholderFormatのParentを確認する

PlaceholderFormat.Parentの戻り値がShapeであることがわかります。「As Object」と定義されているPlaceholderFormat.Parentプロパティですが、実際に取得できたのはShapeオブジェクトですから、ローカルウィンドウの[型]欄に「Object/Shape」と表示されています。

ShapeRange経由でPlaceholderFormatを取得した場合

もっとも基本であるPlaceholdersコレクションを経由してPlaceholderFormatオブジェクトを取得したのではない場合も見ておきましょう。

PowerPoint上で、いずれかのプレースホルダーを選択した状態で以下のSubプロシージャをステップ実行してみてください。

Sub PlaceholderFormatのParentを確認する_ShapeRange経由()
 Dim pfmt As PlaceholderFormat
 Set pfmt = ActiveWindow.Selection.ShapeRange.PlaceholderFormat
End Sub

代入文の実行後にローカルウィンドウを見れば、

ShapeRange経由で取得したPlaceholderFormatのParentを確認する

やはり、PlaceholderFormat.Parentの戻り値がShapeであることがわかります。

SlideMaster経由でPlaceholderFormatを取得した場合

もう一つ、SlideMaster経由の場合も見ておきましょうか。

Sub PlaceholderFormatのParentを確認する_SlideMaster経由()
 Dim pfmt As PlaceholderFormat
 Set pfmt = ActivePresentation.SlideMaster.Shapes.Placeholders(1).PlaceholderFormat
End Sub

SlideMaster経由で取得したPlaceholderFormatのParentを確認する

やっぱり、PlaceholderFormat.Parentの戻り値はShapeです。

最終更新日時:2021-06-21 15:03

[スポンサードリンク]

Home » パワーポイントマクロ・PowerPoint VBAの使い方 » プレースホルダー » PlaceholderFormat.Parentの戻り値は?

「プレースホルダー」の記事一覧

検索


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

.