たくさんのスライドが含まれたプレゼンテーションファイルを作成する場合、章トビラに該当するスライドに、タイトルスライドを使うということがあります。
その場合に、それらのタイトルスライドの文字列だけを取得して、目次スライド的なものを作りたいと思うこともあります。
章扉的スライドの枚数が少なければ、手作業で文字列をコピペすれば済みますが、タイトルスライドの枚数が多いと、結構、面倒な作業です。
そんなときに有効なコードをご紹介しておきましょう。
タイトルスライドの文字列をイミディエイトウィンドウに出力するサンプルマクロ
以下のマクロを実行すると、イミディエイトウィンドウに、タイトルスライドのスライド番号とタイトル文字列が出力されます。
Dim sld As Slide
For Each sld In ActivePresentation.Slides
With sld
If .Layout = ppLayoutTitle Then
Debug.Print _
.SlideNumber & vbTab & _
.Shapes.Title.TextFrame.TextRange.Text
End If
Next
End Sub
サンプルマクロの解説
アクティブなプレゼンテーションファイルの全SlideにFor Each~Nextループを回して、
For Each sld In ActivePresentation.Slides
もしもタイトルスライドだったときに、
With sld
If .Layout = ppLayoutTitle Then
スライド番号とタイトル文字列をイミディエイトウィンドウに出力しています。
Debug.Print _
.SlideNumber & vbTab & _
.Shapes.Title.TextFrame.TextRange.Text
ShapesコレクションオブジェクトのTitleプロパティを使うとタイトルプレースホルダーを取得できるところが、ポイントの一つでしょうか。
スライドを新規に追加して、上記のマクロを実行してイミディエイトウィンドウに出力された文字列をコピペしてやれば、タイトルスライドの文字列だけが表示された目次スライドのできあがりです。
最終更新日時:2020-04-07 06:26
Home » パワーポイントマクロ・PowerPoint VBAの使い方 » プレースホルダー » VBAでタイトルスライドの文字列を取得する