「vba パワーポイント chart グラフ タイトル」
という検索で、このサイト・インストラクターのネタ帳へのアクセスがありました。
PowerPoint VBA(Visual Basic for Applications)で、グラフのタイトルをどうにかしたかったのでしょう。
具体的に何をしたかったのかが、この検索キーワードだけではわかりませんので、グラフタイトルの文字列を取得するマクロをご紹介しておきます。
グラフタイトルの文字列を取得するサンプルマクロ
以下のSubプロシージャを実行すると、アクティブなプレゼンテーション上のグラフタイトルがイミディエイトウィンドウに出力されます。
Dim sld As Slide
For Each sld In ActivePresentation.Slides
Dim shp As Shape
For Each shp In sld.Shapes
If shp.HasChart Then
Debug.Print _
shp.Chart.ChartTitle.Text
End If
Next shp
End Sub
サンプルマクロで利用しているオブジェクト式について
アクティブプレゼンテーションの、全スライドに対するFor Each~Nextループの中で、
For Each sld In ActivePresentation.Slides
各スライドの全図形に対するFor Each~Nextループを回すのは、
For Each shp In sld.Shapes
PowerPoint VBAでは、よく見かける構造です。
ShapeオブジェクトのHasChartプロパティで、その図形にグラフが存在するかどうかがわかりますから、グラフを持った図形のときに、
If shp.HasChart Then
グラフタイトルの文字列を取得しています。
Debug.Print _
shp.Chart.ChartTitle.Text
ChartオブジェクトのChartTitleプロパティで取得できるのは、Shapeではないかと勝手に思っていたのですが、ShapeオブジェクトではなくChartTitleオブジェクトである点が、
私には興味深い部分です。
最終更新日時:2021-06-08 15:02
Home » パワーポイントマクロ・PowerPoint VBAの使い方 » グラフ・Chart » PowerPoint VBAでグラフタイトルを取得する-ChartTitle.Text