前回は縦軸の設定だったので、今回は横軸の設定です。
横軸は日付を表します。日付で構成される軸を”日付軸”と呼び、通常の数値の軸とは少し違う部分があります。順に整理していきましょう。
例によって、マクロの記録を有効にして、グラフの横軸を選択します。軸の種類を日付軸に変更し、単位の主を 7 日、表示形式の種類を月日に変更します。
記録されたマクロを確認すると、以下のようになっています。
ActiveChart.Axes(xlCategory).Select ActiveChart.Axes(xlCategory).CategoryType = xlTimeScale ActiveChart.Axes(xlCategory).MajorUnit = 7 Selection.TickLabels.NumberFormatLocal = "m/d;@" |
横軸の設定
まず、横軸のアクセスには、Axes メソッドを使用します。今回は横軸にアクセスするので、引数は、xlCategory となります。
続いて、軸の種類の設定です。CategoryType というプロパティが登場しました。このプロパティは、Axes メソッドの戻り値である Axis オブジェクトに存在します。
Axis.CategoryType プロパティ (Excel)
軸を時間軸に設定するには、このプロパティの設定には、xlTimeScale という定数を使用しています。値を確認して、スクリプトライブラリ ”XlsLib” に登録しておきましょう。
軸のフォーマット設定
続いて、軸に表示する文字(ラベル)の設定です。TickLabels というプロパティにアクセスしていますね。このプロパティは、その名前のオブジェクトを返します。
TickLabels オブジェクトは、軸ラベルとして表示される文字の集合を表します。Microsft Learn でプロパティを確認すると、Font や Alignment など文字のフォーマットに関するものが存在します。
フォーマットをセットするプロパティは、NumberFormatLocal です。NumberFormat プロパティでもほぼ同様なのですが、日本語環境で使用する限りは、NumberFormatLocal を使用すればよいかと思います。
TickLabels.NumberFormatLocal プロパティ (Excel)
LotusScript の記述
今回の横軸(日付軸)の設定を LotusScript で記述すると、以下のようになります。
'X 軸の設定 oChart.Axes(xlCategory).CategoryType = xlTimeScale oChart.Axes(xlCategory).MajorUnit = 7 oChart.Axes(xlCategory).TickLabels.NumberFormatLocal = "m/d;@" |
マクロの記録では、軸文字列のフォーマットの設定設定が Selection となっていました。これは、事前に横軸のオブジェクトを選択してたからです。LotusScript では、"oChart.Axes(xlCategory)" と記述し、明確にオブジェクトを指定します。
ここまでのプログラムを実行すると以下のようになります。
初期状態から比べるとずいぶんすっきりしましたね。
前回 | Notes - Excel 連携 | 次回 |
0 件のコメント:
コメントを投稿