「powerpoint マクロ アウトライン表示 Pane」
といった検索キーワードで、このサイト『インストラクターのネタ帳』へのアクセスが時折あります。
PowerPoint VBAでアウトライン表示にするには、
どのようなコードを書けばいいのか、探していた方による検索でしょう。
Pane.ViewTypeは読み取り専用で設定できない
オブジェクトブラウザーを調べると、PpViewType列挙型に定数ppViewOutline(実際の値は6)が存在し、
Paneオブジェクトに「As PpViewType」と定義されているViewTypeプロパティが存在することがわかります。
ですから、
ActiveWindow.Panes(1).ViewType = ppViewOutline
といったコードでアウトライン表示にできても良さそうなものですが、できません。
オブジェクトブラウザーの詳細ペインに「読み取り専用」と表示されているとおり、Pane.ViewTypeプロパティは読み取り専用だからです。
[VBAProjectのコンパイル]を実行した時点で、
「値の取得のみ可能なプロパティに値を設定することはできません。」
コンパイルエラーが発生してしまいます。
アウトライン表示にするにはCommandBars.ExecuteMso
こういうときは、(ちょっと負けな気もしますけが)CommandBars.ExecuteMsoメソッドの出番です。
以下のSubプロシージャでアウトライン表示にできます。CommandBars.ExecuteMso "ViewOutlineViewPowerPoint"
End Sub
DocumenWindow.ViewTypeは設定できる
上述のとおり、Pane.ViewTypeは読み取り専用プロパティですから設定はできませんが、DocumenWindowオブジェクトのViewTypeプロパティならば設定もできます。
上図のとおりDocumentWindow.ViewTypeプロパティの詳細ペインには「読み取り専用」の表示がありません。
ですから、
ActiveWindow.ViewType = ppViewOutline
というコードは実行可能です。
「powerpoint マクロ アウトライン表示 Pane」
と検索なさった方が期待した状態とは違うのではないかと思いますが、確かにアウトライン表示になります。
よくよく見ればこの「ActiveWindow.ViewType = ppViewOutline」で設定されたアウトライン表示でも、悪くないと感じる方も少なからずいらっしゃるのではないかと想像しています。
Home » パワーポイントマクロ・PowerPoint VBAの使い方 » PowerPoint VBAでアウトライン表示にするには