Home » パワーポイントマクロ・PowerPoint VBAの使い方 » マスター » フッターを削除(非表示に)するPowerPointマクロ

フッターを削除(非表示に)するPowerPointマクロ

対象:PowerPoint2007, PowerPoint2010, PowerPoint2013

「powerpoint マクロ フッターを削除」
という検索で、このサイト・インストラクターのネタ帳へのアクセスがありました。

フッターを削除するPowerPointマクロ・VBA(Visual Basic for Applications)のコードを探している方による検索です。

PowerPointでスライド上のフッターを削除するには、

[ヘッダーとフッター]ダイアログ-[スライド]タブの[フッター]チェックボックスをOffにしてから[すべてに適用]ボタンを押す、

フッターを削除(非表示に)するPowerPointマクロ

という操作を行います。

複数のプレゼンテーションファイルからフッターを削除したいときに、この操作を繰り返し行うのが面倒でマクロで処理したいという気持ちになるのは、とても納得できます。

VBA側から見ると、プレゼンテーションファイル上のフッターを表すHeaderFooterオブジェクトを非表示にすることで、フッターを削除することができます。

[スポンサードリンク]

アクティブプレゼンテーションのフッターを非表示にするサンプルマクロ

以下のようなマクロで、アクティブなプレゼンテーションファイルのフッターを非表示にできます。


Sub アクティブなプレゼンテーションのフッターを非表示にする()

 Dim sld As Slide

 For Each sld In ActivePresentation.Slides
  sld.HeadersFooters.Footer.Visible = msoFalse
 Next sld

 ActivePresentation.SlideMaster _
  .HeadersFooters.Footer.Visible = msoFalse

End Sub

このマクロで利用しているオブジェクトの階層構造を図にすると下図のようなイメージで、

フッターを削除(非表示に)するPowerPointマクロ

行っている処理は以下のとおりです。

アクティブなプレゼンテーションファイルの全スライドに対してループを開始します。
 For Each sld In ActivePresentation.Slides

ActivePresentationプロパティでアクティブなプレゼンテーションファイルを表すPresentationオブジェクトを取得して、PresentationオブジェクトのSlidesプロパティで全スライドを表すSlidesコレクションオブジェクトを取得しています。

全スライドに対するループの中で、個々のスライドのフッターの表示を非表示にしています。
  sld.HeadersFooters.Footer.Visible = msoFalse

SlideオブジェクトのHeadersFootersプロパティで、HeadersFootersコレクションオブジェクトを取得して、HeadersFootersコレクションオブジェクトのFooterプロパティで、フッターを表すHeaderFooterオブジェクトを取得して、フッターを表すHeaderFooterオブジェクトのVisibleプロパティをmsoFalseに設定することでフッターを非表示にしています。

HeadersFootersコレクションオブジェクトのFooterプロパティで、

フッターを削除(非表示に)するPowerPointマクロ

フッターを表すHeaderFooterオブジェクトを取得できるところが、

フッターを削除(非表示に)するPowerPointマクロ

オブジェクト式的には珍しいところです。

各スライドのフッターを非表示にしたあとで、スライドマスターのフッターも非表示にしています。
 ActivePresentation.SlideMaster _
  .HeadersFooters.Footer.Visible = msoFalse

PresentationオブジェクトのSlideMasterプロパティで取得できるのが、

フッターを削除(非表示に)するPowerPointマクロ

Masterオブジェクトである点も、

フッターを削除(非表示に)するPowerPointマクロ

VBAのオブジェクト式として珍しい部分です。

開いている全プレゼンテーションのフッターを非表示にするサンプルマクロ

以下のようなマクロで、開いているすべてのプレゼンテーションファイルからフッターを削除できます。


Sub 全プレゼンテーションのフッターを非表示にする()

 Dim prs As Presentation
 Dim sld As Slide

 For Each prs In Presentations

  For Each sld In prs.Slides
   sld.HeadersFooters.Footer.Visible = msoFalse
  Next sld

  prs.SlideMaster _
   .HeadersFooters.Footer.Visible = msoFalse

 Next prs

End Sub

先のアクティブなプレゼンテーションファイルのフッターを非表示にするマクロと同じ処理を、開いているすべてのプレゼンテーションファイルに対して行っています。

このマクロで利用しているオブジェクトの階層構造を図にすると下図のようなイメージです。

フッターを削除(非表示に)するPowerPointマクロ

先にご紹介した、アクティブなプレゼンテーションファイルのフッターを非表示にするマクロで利用したオブジェクトの階層に、開いているすべてのプレゼンテーションファイルを表すPresentationsコレクションオブジェクトが入っていることで、一階層深くなったわけです。

Presentationsプロパティで、開いている全プレゼンテーションファイルを表すPresentationsコレクションオブジェクトを取得して、全Presentationオブジェクトに対してループを回して、
 For Each prs In Presentations

先と同じく、全スライドのフッターを非表示にして、
  For Each sld In prs.Slides
   sld.HeadersFooters.Footer.Visible = msoFalse
  Next sld

マスターのフッターを非表示にしています。
  prs.SlideMaster _
   .HeadersFooters.Footer.Visible = msoFalse

[スポンサードリンク]

Home » パワーポイントマクロ・PowerPoint VBAの使い方 » マスター » フッターを削除(非表示に)するPowerPointマクロ

TrackBack:0

TrackBack URL

Home » パワーポイントマクロ・PowerPoint VBAの使い方 » マスター » フッターを削除(非表示に)するPowerPointマクロ

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

.