2023/09/17

Notes - Excel 連携:#19)グラフ関連オブジェクトまとめ

第 11 回から前回の第 18 回まで、グラフのオブジェクトである Chart オブジェクトの操作について解説してきました。今回はそのまとめとして、これまでの登場したオブジェクトの関係とその操作について整理ります。


グラフの作成方法

まず、シート内に存在するグラフは、Worksheet オブジェクト内の Shapes プロパティから取得するオブジェクトに含まれます。Shapes オブジェクトは、グラフ(Chart)だけでなく、画像(Picture)やテキストボックス(Textbox)などの様々なオブジェクトの集合となります。

グラフの追加は、Shapes オブジェクトの AddChart2 メソッドで作成しました。AddChart2 を実行すると Shape オブジェクトを返します。この Shape オブジェクトには、グラフ(Chart)オブジェクトが含まれ、Chart プロパティ経由でアクセスするという流れでした。


Chart オブジェクト内の構造

まず、Chart オブジェクトには、グラフの種類を決定する ChartType プロパティが存在し、グラフとして表示するデータを指定する SetSourceData メソッドを紹介しました。

指定方法は Range オブジェクトを使用します。Range オブジェクトは柔軟な仕様ですので、単一の範囲を指定することはもちろん、複数の範囲、連続した列、複数の連続しない列など様々指定方法ができました。

グラフ内のオブジェクトとしては、グラフのタイトルである ChartTitle オブジェクトと、軸の設定である Axes オブジェクトについて紹介しました。

グラフのタイトルのフォントを変更するには、ChartTitle オブジェクトからいくつものオブジェクトを掘り進んで設定する必要がありました。

ここまでを関連図で書くと次のようになります。


オブジェクト構造の補足

上記関連図では、連載記事内で触れたプロパティとメソッドのみ表示しています。それぞれのオブジェクトには、ほかにもたくさんのプロパティやメソッドが存在します。このような関係を理解したうえで、Microsft Learn を読み進めると混乱しなくて済むかと思います。


例えば、本編の連載では触れませんでしたが、軸に表示する文字のフォントを変更することができます。軸に表示する文字(の集合)のオブジェクトは TickLabels でしたが、Format というプロパティを持っています。このプロパティの型は ChartFormat で、グラフタイトルオブジェクトの Format プロパティと同じです。

Excel VBA のオブジェクト構造は、それぞれのオブジェクトが十分に独立化していて、様々な場所で再利用できるよう設計されています。そのため、階層が深く、入り組んだ関係に見えることもあります。しかし、そのオブジェクトの役割しっかり確認すると、理解しやすくなります。


前回 Notes - Excel 連携 次回

0 件のコメント:

コメントを投稿