Home » パワーポイントマクロ・PowerPoint VBAの使い方 » PowerPoint VBAではなぜSelectionから書き始められないのか

PowerPoint VBAではなぜSelectionから書き始められないのか

対象:PowerPoint2007, PowerPoint2010, PowerPoint2013

PowerPointのVBA(Visual Basic for Applications)だけでなく、ExcelやWordのマクロ・VBAについてもご存知の方から
「ExcelもWordもSelectionから書き始められるのに、PowerPointだけはなぜダメなのでしょう?」
といったご質問をいただきました。

ExcelやWordのVBAの経験があって、PowerPointでもVBAを使い始めた方の多くが感じる疑問でもあるはずですので、記事にさせていただきます。

[スポンサードリンク]

PowerPointのSelectionはグローバルメンバーではない

結論から書くと、以下のとおりです。
▼PowerPoint VBAでSelectionから書き始められない理由
PowerPoint VBAでは
Selectionプロパティが
グローバルのメンバーではないから

VBAではグローバルメンバーの場合に、上位のオブジェクトへの参照・上位のオブジェクト式を省略して記述することができます。

この文法はExcelでもWordでもPowerPointでも同じです。

で、ExcelでもWordでもSelectionプロパティは、グローバルのメンバーですが、PowerPointの場合、Selectionプロパティはグローバルメンバーではないのです。

ですから、ExcelもWordもSelectionから書き始められるのに、PowerPointの場合はSelectionから書き始められないということになります。(PowerPointでSelectionプロパティを利用する場合、VBAの原則どおり、上位のオブジェクト式から書かなければいけません)

グローバルメンバーをオブジェクトブラウザーで確認する

何がグローバルのメンバーなのかを確認するには、VBE(Visual Basic Editor)に付属する、オブジェクトについて調べるための索引・簡易辞書である、オブジェクトブラウザーを使いましょう。

Excelの場合、下図のように、クラスペインで<グローバル>を選択すると、右側のメンバーペインにSelectionプロパティが表示されます。

PowerPoint VBAではなぜSelectionから書き始められないのか

Wordの場合も、下図のように、クラスペインで<グローバル>を選択すると、メンバーペインにSelectionプロパティが表示されます。

PowerPoint VBAではなぜSelectionから書き始められないのか

ですが、PowerPointの場合、下図のように、クラスペインで<グローバル>を選択しても、グローバルメンバーとしてのSelectionプロパティは存在していませんからメンバーペインに表示されません。(もしも存在しているのなら、IsSandboxedプロパティの次に表示されているはずです)

PowerPoint VBAではなぜSelectionから書き始められないのか

これがPowerPointでは、Excel・Wordと異なってSelectionから書き始めることができない理由です。

[スポンサードリンク]

Home » パワーポイントマクロ・PowerPoint VBAの使い方 » PowerPoint VBAではなぜSelectionから書き始められないのか

「パワーポイントマクロ・PowerPoint VBAの使い方」の記事一覧

検索


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

.