「Powerpoint VBA スライド上のグラフ 取得」
という検索キーワードに気が付きました。
詳細はわかりませんが、参考になりそうなサンプルマクロをご紹介しておきます。
アクティブスライド上のChartオブジェクトを取得するサンプル
以下のSubプロシージャを標準モードで実行すると、アクティブなスライド上の1つ目のグラフが選択され、中断モードになります。
Dim shp As Shape
For Each shp In ActiveWindow.Selection.SlideRange.Shapes
If shp.HasChart Then shp.Select
Dim cht As Chart
Set cht = shp.Chart
Stop
End If
Next shp
End Sub
サンプルマクロの構造
PowerPointのすべてのコンテンツはShapeオブジェクト内に存在します。
スライド上のグラフも勿論Shapeオブジェクト内に存在しますから、アクティブスライド上の全図形に対してFor Each~Nextループを回して、
For Each shp In ActiveWindow.Selection.SlideRange.Shapes
Shapeオブジェクトに用意されているHasChartプロパティで、グラフを持った図形かどうかを判定しています。
If shp.HasChart Then
グラフを持つ図形だったときには、その図形を選択して、
shp.Select
オブジェクト変数に、Chartプロパティで取得したChartオブジェクトの参照情報を代入しています。
Dim cht As Chart
Set cht = shp.Chart
オブジェクト変数の中身を確認しましょう
Stopステートメントで中断したら、拙著『いちばんやさしいExcel VBAの教本』でも多用しているローカルウィンドウで、オブジェクト変数chtの中身を覗いてみてください。
上図のとおり、オブジェクト変数chtから、Chartオブジェクトの様々なデータを利用できることを確認できます。
最終更新日時:2019-05-23 06:22
Home » パワーポイントマクロ・PowerPoint VBAの使い方 » グラフ・Chart » VBAでスライド上のグラフを取得する