『ExcelマクロユーザーのためのPowerPoint VBA入門講座』の開催にあたって採らせていただいたアンケートをもとに、全スライドのフォントを一括変更するPowerPointマクロと、プレースホルダーについてはスライドマスターから指定するのがPowerPointの正しい使い方という考えに基づき全スライドをリセットするPowerPointマクロをご紹介しました。
この二つのマクロの考え方を理解した上で、ではスライドマスター上のプレースホルダーのフォントを、VBA(Visual Basic for Applications)から変更するにはどうすればいいのだろうという疑問も生まれるはずです。
そんな疑問にお応えするPowerPointマクロをご紹介しておきます。
スライドマスターのフォントを変更するサンプルマクロ
以下のようなマクロで、スライドマスターの、日付プレースホルダー以外のプレースホルダーの、フォントを変更することができます。
Const FNT_NAME = "HG教科書体"
Dim shp As Shape
With ActivePresentation.SlideMaster.Shapes
For Each shp In .Placeholders
If shp.PlaceholderFormat.Type <> ppPlaceholderDate Then
With shp.TextFrame.TextRange.Font
.Name = FNT_NAME
.NameFarEast = FNT_NAME
End With
End If
Next shp
End With
サンプルマクロの概略
アクティブなプレゼンテーションファイルの、スライドマスターの全プレースホルダーにFor Each~Nextループを回して、
With ActivePresentation.SlideMaster.Shapes
For Each shp In .Placeholders
日付プレースホルダーではなかったときに、
If shp.PlaceholderFormat.Type <> ppPlaceholderDate Then
フォントの変更処理を行っています。
With shp.TextFrame.TextRange.Font
.Name = FNT_NAME
.NameFarEast = FNT_NAME
サンプルマクロで利用しているオブジェクトモデルの注意点
このマクロで利用しているオブジェクトモデルでは、以下のような点が要注意だと感じます。
PresentationオブジェクトのSlideMasterプロパティで、スライドマスターを表すMasterオブジェクトを取得できる点、
Placeholdersプロパティが、Shapesコレクションのメンバーである点、
Placeholdersコレクションの単一オブジェクトが、Shapeオブジェクトである点です。
Home » パワーポイントマクロ・PowerPoint VBAの使い方 » マスター » スライドマスターのフォントを変更するPowerPointマクロ