Home » パワーポイントマクロ・PowerPoint VBAの使い方 » プレースホルダー » すべてのプレースホルダーを表示するPowerPointマクロ

すべてのプレースホルダーを表示するPowerPointマクロ

対象:PowerPoint2007, PowerPoint2010, PowerPoint2013

PowerPointでプレゼンテーションファイルの作成・編集中に、新規スライドを挿入すると、
「クリックしてタイトルを入力」
「クリックしてテキストを入力」
と表示されたプレースホルダーが表示された状態になります。

「クリックしてタイトルを入力」「クリックしてテキストを入力」を邪魔だと感じる方、消す方法はないのかと思っている方向けに、プレースホルダーを非表示にする方法をご紹介しています。

非表示にしたプレースホルダーが増えてくると、逆に、非表示にしたプレースホルダーを一気に表示したいと感じることも出てきます。

[スポンサードリンク]

そんなときに使えるマクロをご紹介しておきます。


Sub アクティブファイルの全プレースホルダーを表示する()

 Dim sld As Slide
 Dim shp As Shape
 Dim msg As String
 
 msg = "アクティブなプレゼンテーションファイルの、全スライドの、全プレースホルダーを表示しますか?"
 If MsgBox(msg, vbYesNo) = vbNo Then Exit Sub
 
 For Each sld In ActivePresentation.Slides

  For Each shp In sld.Shapes.Placeholders
   shp.Visible = msoTrue
  Next shp

 Next sld

End Sub

上記のマクロを実行すると、
「アクティブなプレゼンテーションファイルの、全スライドの、全プレースホルダーを表示しますか?」
というメッセージが表示され[はい]を選択すると、アクティブなプレゼンファイルの、すべてのスライドの、すべてのプレースホルダーが一気に表示されます。

やってることは以下のとおりです。

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

そのループの中で、各スライドの全プレースホルダーに対してループを回し、
  For Each shp In sld.Shapes.Placeholders

ShapeオブジェクトのVisibleプロパティをmsoTrueにしています。
   shp.Visible = msoTrue

PowerPointのオブジェクト構造に馴染みがないと、
  For Each shp In sld.Shapes.Placeholders
の部分は、ちょっと不思議な感じがするかもしれません。

PowerPointの、Placeholdersコレクションオブジェクトの、デフォルトプロパティ・Itemプロパティで返される個々のオブジェクトは、PlaceholderオブジェクトではなくShapeオブジェクトなのです。

オブジェクトブラウザでPlaceholdersオブジェクトの、デフォルトプロパティ・Itemプロパティを選択すると、下図のとおりItemプロパティで返されるのが、Shapeオブジェクトであることがわかります。

すべてのプレースホルダーを表示するパワポマクロ

また、オブジェクトブラウザのクラスペインを見ると、Placeholderという名前のオブジェクトが存在していないことも確認できます。

関連語句
VBA, Visual Basic for Applications
[スポンサードリンク]

Home » パワーポイントマクロ・PowerPoint VBAの使い方 » プレースホルダー » すべてのプレースホルダーを表示するPowerPointマクロ

TrackBack:1

TrackBack URL
文字の入力されていないプレースホルダーを非表示にするパワポマクロ from インストラクターのネタ帳
PowerPoint(パワーポイント)で、アクティブなプレゼンテーションファイルの全スライドの文字の入力されていないプレースホルダーを、一気に非表示にする...

Home » パワーポイントマクロ・PowerPoint VBAの使い方 » プレースホルダー » すべてのプレースホルダーを表示するPowerPointマクロ

「プレースホルダー」の記事一覧

検索


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

.