Home » パワーポイントマクロ・PowerPoint VBAの使い方 » Slide・スライド » 画像の含まれているスライドを調べるマクロ

画像の含まれているスライドを調べるマクロ

対象:PowerPoint2003, PowerPoint2007, PowerPoint2010, PowerPoint2013

「パワーポイント マクロ 画像 存在確認」
という検索で、このサイト・インストラクターのネタ帳へのアクセスがありました。

PowerPointで画像が存在しているかどうかを確認するマクロを探している方による検索です。

この検索ログだけでは、どう確認したかったのかの詳細はわかりませんが、VBA(Visual Basic for Applications)でマクロを作ってみました。

[スポンサードリンク]

アクティブなプレゼンテーションファイルの、全スライトをチェックして、画像の含まれているスライドのスライド番号とタイトル文字列を、メッセージボックスに表示するマクロです。

Sub 画像の含まれているスライドを調べる()

 Dim sld As Slide
 Dim shp As Shape
 Dim msg As String

 msg = ""

 For Each sld In ActivePresentation.Slides

  For Each shp In sld.Shapes
  If shp.Type = msoPicture Then

   msg = msg & sld.SlideNumber

   With sld.Shapes
    If .HasTitle Then
     msg = msg & " 『" & _
     .Title.TextFrame.TextRange.Text _
     & "』"
    End If
   End With

   msg = msg & vbCrLf
   Exit For

  End If
  Next

 Next

 If msg = "" Then
  msg = "画像の含まれているスライドは存在しません。"
 Else
  msg = "▼画像の含まれているスライド" & vbCrLf & msg
 End If

 MsgBox msg

End Sub

上記のマクロを実行して、画像が含まれているスライドがある場合スライド番号とタイトル文字列がメッセージボックスに表示され、画像が含まれているスライドが存在していなければ、「画像の含まれているスライドは存在しません。」というメッセージが表示されます。

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

各スライドのに含まれる全図形に対してループを回し、
  For Each shp In sld.Shapes

その図形が画像であったなら、
  If shp.Type = msoPicture Then

スライド番号を変数に格納し、
   msg = msg & sld.SlideNumber

タイトル用プレースホルダが存在していた場合、
   With sld.Shapes
    If .HasTitle Then

タイトルの文字列も変数に格納しています。
     msg = msg & " 『" & _
     .Title.TextFrame.TextRange.Text _
     & "』"

変数に改行コードを追加して、
   msg = msg & vbCrLf

1個でも画像が存在していることが確認できれば、そのスライド内で図形の確認をし続けるのはムダですから、図形に対するループを抜けています。
   Exit For

変数msgが空白文字列の場合、
 If msg = "" Then

画像が含まれていなかったというメッセージを作成し
  msg = "画像の含まれているスライドは存在しません。"

画像が含まれていたときは
 Else

変数msgの先頭に文字列を追加しています。
  msg = "▼画像の含まれているスライド" & vbCrLf & msg

メッセージボックスにタイトル文字列を表示する必要がなければ、タイトルの文字列を取得している以下の部分を削除してください。
   With sld.Shapes
    If .HasTitle Then
     msg = msg & " 『" & _
     .Title.TextFrame.TextRange.Text _
     & "』"
    End If
   End With

[スポンサードリンク]

Home » パワーポイントマクロ・PowerPoint VBAの使い方 » Slide・スライド » 画像の含まれているスライドを調べるマクロ

「Slide・スライド」の記事一覧

検索


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

.