検索キーワード「VBA Selection.Parent」をきっかけにして、Word VBAの場合Selection.Parentプロパティで取得できるのは、必ずPaneオブジェクトであることを記事にしました。
PowerPoint VBAの「Selection.Parent」も確認しておきましょう。
Selection.Parentを確認するサンプルプロシージャ
以下のSubプロシージャを作成・実行してみてください。
Dim obj As Object
Set obj = ActiveWindow.Selection.Parent
MsgBox TypeName(obj)
End Sub
PowerPoint VBAのSelectionオブジェクトに用意されているParentプロパティの戻り値を、オブジェクト変数objに代入して、
Set obj = ActiveWindow.Selection.Parent
VBAのTypeName関数の引数に、変数objを指定しています。
MsgBox TypeName(obj)
結果は「
つまり、PowerPoint VBAの場合、SelectionオブジェクトのParentプロパティで取得できるのは、PowerPointのウィンドウを表すDocumentWindowオブジェクトだということです。
PowerPoint VBAにグローバルなSelectionはない
PowerPoint VBAの場合、グローバルメンバーがWord VBAよりも少なく、Selectionオブジェクトを取得するためのグローバルなプロパティは存在しません。
そこで、ActiveWindowプロパティで取得した
Set obj = ActiveWindow.Selection.Parent
DocumentWindowオブジェクトのSeletionプロパティで
Set obj = ActiveWindow.Selection.Parent
Selectionオブジェクトを取得している点が、Word VBAのコードと異なります。
PowerPoint VBAのSeletion.Parentで取得できるのは、結局このDocumentWindowという当然の結果です。
PowerPoint VBAでSelectionを持つのはDocumentWindowのみ
PowerPoint VBAの場合、オブジェクトブラウザーで「Selection」を検索しても、Selectionプロパティの用意されているオブジェクトはDocumentWindowだけです。
- Newer:自然対数の底・ネイピア数をEXP関数を使わず計算する
- Older:階乗の計算をFACT関数を使わずに
Home » パワーポイントマクロ・PowerPoint VBAの使い方 » PowerPoint VBAのSelection.ParentはDocumentWindow