2024/12/04

Notes - Excel 連携:#51)グラフ調整のまとめ

#41#50 までの間、”使える”グラフにするための設定項目について紹介しました。このシリーズの最後に、紹介した機能をまとめます。


作画エリアの構成

まずはグラフの作画エリアである PlotArea オブジェクトです。このオブジェクトの位置(Top と Left)とサイズ(Height と Width)は 2 セット存在しました。"Inside" で始まるプロパティがグラフを表示するエリア(下図の赤枠)で、何もつかないプロパティが軸ラベルを含むエリアでした (#42)。


オブジェクトの配置と自動調整

グラフ内にテキストボックスを配置して位置を設定する方法について紹介しました(#46)。グラフもテキストボックスも一番外側のオブジェクトは Shape となります。そして、Shape の中に Shape オブジェクトを配置でき、親子関係のような管理となります。子のオブジェクトは親の範囲外にはみ出すと自動で調整されるため、結果が指定によるものなのか、調整されたものか判定しづらくなるので注意が必要でしたね。

また、Shape の左上の座標は (0, 0) ではなく (-4, -4) であり、4 ポイントのマージンが確保されていました。

この自動調整の対応とマージンのエリアを利用するために、親からはみ出ない位置でサイズを調整してから IncrementTop や IncrementLeft メソッドで希望の位置に配置する方法を紹介しました。

オブジェクトの回転は Rotation プロパティで行いました (#48)。回転はオブジェクトの中心を起点とすること、位置やサイズの設定は回転していない状態を基準に行うことがポイントです。また、回転後、親の範囲からはみ出た分は、自動調整されることにも注意が必要でした(紫部分)。


自動調整が行われるとサイズが変わるだけでなく、中心が変わることで位置 (Top と Left) が調整される点にも混乱のもととなるので注意してください。


利用したオブジェクト

今回のシリーズでは PlotArea を含め、次のグラフ構成オブジェクトを利用しました。

PlotAreaグラフ作画エリア
Axesグラフ内の軸(Axis オブジェクト)のコレクション
Axisグラフ内の 1 つの軸 を表します (#44)
ChartTitle標準のグラフタイトル(このシリーズでは非表示にしただけ)
Legendグラフ内の凡例 (#49)


オブジェクトの関係

登場したオブジェクトやプロパティ、メソッドを図式化すると次のようになります。今回のシリーズで解説した部分を赤字で表示しています。

ところで、グラフを追加する AddChart2 メソッドや TextFrame2 のように 末尾に ”2” が付いたものがあります。これらは主に Office 2013 以降に登場しており、旧来のオブジェクトと区別し互換性を維持するためだそうです。

上図ではフォントに関連するオブジェクトとして Font と Font2 が登場します。”2” のほうでは、光彩を設定する Glow や色を詳細に設定する Fill プロパティが存在し、機能が充実していることがわかります。

LotusScript から操作する場合 Excel のようにオブジェクトブラウザが利用できず、オブジェクト名称を確認できません。また、Microsoft Learn の記載ではこのあたりがあいまいな場合があり、混乱することがあります。オブジェクト名の確認が必要な場合には、プロパティやメソッドにアクセスし、存在チェックをすることで判別可能です。面倒ですが...


前回 Notes - Excel 連携


0 件のコメント:

コメントを投稿