Home » パワーポイントマクロ・PowerPoint VBAの使い方 » Shapesコレクション・Shapeオブジェクト » 動作設定されている図形の情報を取得するPowerPointマクロ

動作設定されている図形の情報を取得するPowerPointマクロ

対象:PowerPoint2007, PowerPoint2010, PowerPoint2013, Windows版PowerPoint2016

「powerpoint vba 動作を設定した図形の情報」
という検索で、このサイト・インストラクターのネタ帳へのアクセスが、ありました。

2007以降のPowerPointでは、[挿入]タブ-[リンク]グループ-[動作]ボタンなどから、

動作設定されている図形の情報を取得するPowerPointマクロ

[オブジェクトの動作設定]ダイアログを表示して、

動作設定されている図形の情報を取得するPowerPointマクロ

図形をクリックしたとき・マウスポインタが図形上に移動したときに、何らかの動作が行われるように設定することができます。

ですが、どの図形にどのような動作が設定されているのかは、[オブジェクトの動作設定]ダイアログを表示させないとわからないため、動作設定された図形に関する情報を、VBA(Visual Basic for Applications)で取得するというのは、確かにニーズがありそうです。

[スポンサードリンク]

動作の設定されている図形の情報をDebug.Printするサンプルマクロ

以下のようなマクロで、アクティブなプレゼンテーションファイルの、動作が設定されている図形の情報をイミディエイトウィンドウに出力できます。

Sub 動作設定されている図形の情報を出力する()
 Dim sld As Slide
 Dim shp As Shape
 Dim act As ActionSetting

 For Each sld In ActivePresentation.Slides
  For Each shp In sld.Shapes
   For Each act In shp.ActionSettings
     If act.Action <> ppActionNone Then
      Debug.Print _
        sld.SlideNumber & vbTab & _
        shp.Name & vbTab & _
        act.Action
     End If
   Next act
  Next shp
 Next sld
End Sub

上記のマクロを実行すると、動作設定された図形の、スライド番号(Slide.SlideNumber)図形の名前(Shape.Name)動作の番号(ActionSetting.Action)がイミディエイトウィンドウに出力されます。

アクティブプレゼンテーションファイルの全スライドに対するFor Each~Nextループの中で、
 For Each sld In ActivePresentation.Slides

全図形に対するFor Each~Nextループを回して、
  For Each shp In sld.Shapes

各図形のActionSettingオブジェクトを調べて、
   For Each act In shp.ActionSettings

何らかの動作設定が行われていたときに、
     If act.Action <> ppActionNone Then

出力を行っています。
      Debug.Print _
        sld.SlideNumber & vbTab & _
        shp.Name & vbTab & _
        act.Action

動作設定されている図形を選択するサンプルマクロ

たくさんの図形が存在している場合は、動作設定されている図形をマクロで選択させるほうが便利な気もします。

Sub アクティブスライドで動作設定されている図形を順番に選択する()
 Dim shp As Shape
 Dim act As ActionSetting

 For Each shp In ActiveWindow.Selection.SlideRange.Shapes
  For Each act In shp.ActionSettings
    If act.Action <> ppActionNone Then
     shp.Select
     MsgBox shp.Name & vbCrLf & act.Action
    End If
  Next act
 Next shp
End Sub

上記のマクロを実行すると、アクティブなスライドで動作の設定されている図形が選択されて、図形の名前と設定されている動作の番号がメッセージボックスに表示されます。

[スポンサードリンク]

Home » パワーポイントマクロ・PowerPoint VBAの使い方 » Shapesコレクション・Shapeオブジェクト » 動作設定されている図形の情報を取得するPowerPointマクロ

「Shapesコレクション・Shapeオブジェクト」の記事一覧

検索


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

.