検索キーワード「VBA powerpoint 最初のスライドを追加」をキッカケにして、Slides.Addメソッドを使って、プレゼンテーションの先頭に、タイトルスライドを追加するコードをご紹介しました。
SlidesコレクションのAddSlideメソッドを使う場合もご紹介しておきます。
AddSlideでタイトルスライドを先頭に追加するサンプル
以下のSubプロシージャで、アクティブなプレゼンテーションの先頭に、「タイトルスライド」レイアウトのスライドを(通常)追加できます。
With ActivePresentation
.Slides.AddSlide _
Index:=1, _
pCustomLayout:=.SlideMaster.CustomLayouts(1)
End With
End Sub
サンプルで行っている処理について
Slides.AddSlideメソッドには、どこに挿入するかを引数Indexに、どのレイアウトかを引数pCustomLayoutに指定します。
引数Indexは特に難しくありませんが、厄介なのがCustomLayoutオブジェクトを指定しなければならない、引数pCustomLayoutです。
スライドマスター表示にしたときに、タイトルスライドレイアウトが通常は1番目に存在していますから、上記のコードでは、CustomLayoutsコレクションからCustomLayoutオブジェクトを取得するために指定している引数に「1」を指定しています。
滅多にあることではないと思いますが、タイトルスライドレイアウトを削除したり、スライドマスターでレイアウトの順番を変更していた場合には、上記のコードで別のレイアウトが挿入されます。
CustomLayoutを確認する
上記のSubプロシージャで利用しているCustomLayoutオブジェクトを、拙著『いちばんやさしいPowerPoint VBAの教本』でも繰り返し行っているように、ローカルウィンドウで確認しておくことをおすすめします。
Dim cust_layout As CustomLayout
Set cust_layout = _
ActivePresentation.SlideMaster.CustomLayouts(1)
Stop
End Sub
上記のSubプロシージャを実行してStopステートメントで中断したらローカルウィンドウで、オブジェクト変数cust_layoutの中身を覗いて、
CustomLayoutオブジェクトのイメージを広げておきましょう。
最終更新日時:2023-02-22 17:29
Home » パワーポイントマクロ・PowerPoint VBAの使い方 » Slide・スライド » Slides.AddSlideでタイトルスライドを先頭に追加する