Home » パワーポイントマクロ・PowerPoint VBAの使い方 » グラフ・Chart » PowerPoint VBAのChart.Legendとは

動作検証バージョン:64bit Windows 10 Pro + 32bit PowerPoint(バージョン2201 ビルド14827.20198 Microsoft Store)

「パワーポイント マクロ グラフ Chart.Legend」
といった検索キーワードでアクセスがありました。

誰かが作成したPowerPointマクロにコード「Chart.Legend」があったので、その意味を調べていらしたのでしょうか。

[スポンサードリンク]

結論をお伝えすると「Chart.Legend」は、グラフを表すChartオブジェクトに用意されているLegendプロパティです。

Chart.Legendプロパティの戻り値は、グラフの凡例を表すLegendオブジェクトです。

Chart.Legendを使うサンプル

実際のコードを確認しましょう。

1枚目のスライドの2つ目のShapeがグラフで凡例が表示されているプレゼンテーションファイルがアクティブな状態で、以下のSubプロシージャを実行してください。

Sub 系列を操作する()
 Dim lgd As Legend
 Set lgd = ActivePresentation.Slides(1).Shapes(2).Chart.Legend
 lgd.Format.Fill.ForeColor.RGB = RGB(204, 204, 204)
 lgd.Format.Line.Weight = 4
End Sub

凡例の塗りつぶし色がグレーに、枠線が太くなります。

かなり深い階層ですが、PowerPoint VBAのShapeオブジェクトに慣れていれば、恐れる必要はありません。

lgd.Format.Fill.ForeColor.RGB = RGB(204, 204, 204)
lgd.Format.Line.Weight = 4

で使用している「.Format」はLegendオブジェクトに用意されているFormatプロパティで、ChartFormatオブジェクトを返します。

ChartFormatオブジェクトは、PowerPoint VBAに慣れた方なら使い慣れているはずのShapeオブジェクトの機能限定版と考えてください。

「.Format」につづく「.Fill.ForeColor.RGB」や「.Line.Weight」は、PowerPoint VBAでShapeの見た目(書式)を操作する際に、よく見かけるコードです。

Chart.Legendで実行時エラーが発生する場合

上記のSubプロシージャは、1枚目のスライドの2つ目のShape内のグラフに凡例が表示されていないときには実行時エラーが発生します。

その場合は、ChartオブジェクトのHasLegendプロパティを使って、事前に凡例を表示しましょう。

先のSubプロシージャの、

Set lgd = ActivePresentation.Slides(1).Shapes(2).Chart.Legend

の前に、

ActivePresentation.Slides(1).Shapes(2).Chart.HasLegend = True

といったコードを入れてください。

[スポンサードリンク]

Home » パワーポイントマクロ・PowerPoint VBAの使い方 » グラフ・Chart » PowerPoint VBAのChart.Legendとは

「グラフ・Chart」の記事一覧

検索


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

.