# レイアウトマスタ

マニュアル > サーバ作成ガイド > アクション編 > アクションの機能解説 > サマリ > サマリアクションの設定ファイルとフォルダ構成 > # レイアウトマスタ |

レイアウトマスタについて

レイアウトマスタ（layoutmaster.xls）は、レポート（日報・月報・年報）の印刷時に使用されるレイアウトを定義するためのExcelファイルです。

レイアウトマスタはExcelで新規にファイルを作成してもかまいませんが、画面ライブラリの日報画面や、フレームライブラリの標準フレームワークに登録されているレイアウトマスタ「layoutmaster.xls」をコピーして、ひな型として利用することもできます。

「layoutmaster.xls」には下記のシートが用意されています。

シート名 | 説明
標準_DAY_P | A4横の日報用
標準_MONTH_P | A4横の月報用
標準_YEAR_P | A4横の年報用
判子欄付_DAY_P1 | 判子欄付A4横の日報用（1ページ目）
判子欄付_DAY_P2 | 判子欄付A4横の日報用（2ページ目以降）
判子欄付_MONTH_P1 | 判子欄付A4横の月報用（1ページ目）
判子欄付_MONTH_P2 | 判子欄付A4横の月報用（2ページ目以降）
判子欄付_YEAR_P1 | 判子欄付A4横の年報用（1ページ目）
判子欄付_YEAR_P2 | 判子欄付A4横の年報用（2ページ目以降）
標準（負荷率有）_DAY_P | 負荷率有A4横の日報用
標準（負荷率有）_MONTH_P | 負荷率有A4横の月報用
標準（負荷率有）_YEAR_P | 負荷率有A4横の年報用
判子欄付（負荷率有）_DAY_P1 | 負荷率有判子欄付A4横の日報用（1ページ目）
判子欄付（負荷率有）_DAY_P2 | 負荷率有判子欄付A4横の日報用（2ページ目以降）
判子欄付（負荷率有）_MONTH_P1 | 負荷率有判子欄付A4横の月報用（1ページ目）
判子欄付（負荷率有）_MONTH_P2 | 負荷率有判子欄付A4横の月報用（2ページ目以降）
判子欄付（負荷率有）_YEAR_P1 | 負荷率有判子欄付A4横の年報用（1ページ目）
判子欄付（負荷率有）_YEAR_P2 | 負荷率有判子欄付A4横の年報用（2ページ目以降）

レイアウトマスターファイルのシート名の末尾には「_P」を付加します。「_P」の後に数値を指定した場合はページの指定になります。例えば、「XXX_DAY_P1」「XXX_DAY_P2」「XXX_DAY_P3」のシートを用意した場合、「XXX_DAY_P1」が1ページ目の印刷に使用されます。同様に「XXX_DAY_P2」は2ページ目、「XXX_DAY_P3」は3ページ目に使用されます。4ページ目以降については「XXX_DAY_P3」が引き続き利用されます。印刷フォーマットを追加削除したい場合は「印刷フォーマットをカスタマイズする」を参照して下さい。

レイアウトマスターファイルでは、Excelのセルに「キーワード」を埋め込むことでレポートデータとの紐付けを行います。キーワードとは、「**」から始まる文字列で、レポートが表示／印字される時には、キーワードを埋め込んだ位置に実際のデータが置き換わって出力される仕組みになっています。例えばレポートのタイトルであれば「**F_PageTitle」などのように、あらかじめ定められたキーワードが用意されています。

キーワードには以下のものがあります。下記のキーワードではアクションで指定したフィールドの順番でデータが流し込まれます。フィールドの数が1ページに収まりきれない場合、自動的に改頁され、フィールドの順番で印刷されます。

キーワード | 説明
**F_Date | レポートの日付。
**F_PageTitle | レポートのタイトル。
**PT_Head **PT_Head[END] | ヘッダタイトル。**PT_Head[0]が1行目。**PT_Head[1]が2行目。最大5行まで設定可能。**PT_Head[END]で右端の列を指定する。
**FV_SideData | 日報の場合、時刻。月報の場合、日。年報の場合、月。日付の書式はサマリマスターファイルのReportTitleDateFormatプロパティで設定する。
**PT_Data **PT_Data[END] | 集計されたデータ。**PT_Data[END]で右端の列を指定する。
**PL_Total **PL_Total[END] | 合計値。**PL_Total[END] で右端の列を指定する。
**PL_Average **PL_Average[END] | 平均値。**PL_Average[END] で右端の列を指定する。
**PL_Max **PL_Max[END] | 最大値。**PL_Max[END] で右端の列を指定する。
**PL_Min **PL_Min[END] | 最小値。**PL_Min[END] で右端の列を指定する。
**PARAM_PrintPage | 印刷領域。指定した領域を印刷する。パラメータが存在しない場合、1ページのみ印刷を行う。設定値はパラメータの右横のセルに指定する。またパラメータの記述箇所はシート上どこでもよい。 ※詳細は、「印刷対象ページを指定する」を参照してください。

運用するPCへのExcelのインストールの要否

レイアウトマスターファイルは、開発時にレイアウトを編集するためにExcelが必要になりますが、レイアウト決定以降、実際に運用するPCにはExcelがインストールされている必要はありません。

ただし、サブレポート出力をExcelで行う場合は、Excelのインストールが必要です。

また、レイアウトマスターファイルの中で、グラフ、計算式、一部のオートシェープ（四角、円、テキスト）などのExcelの機能を利用したい場合には、実際に運用するPCにExcelがインストールされている必要があります。Excelがインストールされている環境でExcelオブジェクトを使用する場合には、サマリマスターファイルのReportExcelプロパティにTを設定して下さい。

対応可能なExcelのセル書式について

レイアウトマスターファイルでは下記のExcelの設定や書式に対応しています。レイアウトマスターファイルについては「レイアウトマスターファイルについて」を参照して下さい。

テキスト／テキスト書式／セル書式／罫線／用紙サイズ／印刷の向き／ヘッダ／フッタ

ページの方向(左から右へ/上から下へ) ／ビットマップファイル

印刷時やExcelファイル出力時、サマリアクションはレイアウトマスターファイルに設定されたキーワードに従って値を流しこみます。その際に、小数点桁数及びカンマ付けの書式設定を反映させることができます。

■自動的に書式を設定したい場合

サマリマスタの集計ログセクションに下記のように指定すると、サマリアクションは自動的に小数点桁数の書式を各セルに対して設定します（※ただし、色や文字のフォント、表示位置などの書式はレイアウトマスタで設定されているExcelのセル書式の設定に従います）。

[RAW::DAY] ・・・ ReportExcelCellFormatType=formatednum ・・・

尚、数値にカンマを付けたい場合は、「formatednum2」と指定します。

（「formatednum2」を指定した場合の出力例）

■Excel側で書式を設定したい場合

小数点桁数及びカンマ付けの書式設定は、ほとんどのケースにおいて「formatednum」もしくは「formatednum2」を指定することで対応可能ですが、何らかの理由により、あえてレイアウトマスタ中のセルの書式で定義したい場合には、サマリマスタの集計ログセクションのReportExcelCellFormatTypeに「num」を指定します。「num」の場合、数値をそのままレイアウトマスタファイルへ流し込むだけで、印刷時の書式はレイアウトマスタで指定したExcelのセルの書式に従います。

[RAW::DAY] ・・・ ReportExcelCellFormatType=num ・・・

上記により、Excelのセル側の数値書式が採用されます。

| レイアウトマスタにビットマップ画像を埋め込む場合は、Excelメニューの「挿入」「オブジェクト」を選択し、「ファイルから」タブでビットマップを挿入して下さい。 それ以外の方法で張り付けられたビットマップは印刷されません。

印刷対象ページを指定する

例えば、１行あたり30分単位の帳票などを作成した場合など、行数の多いページの印刷が1ページ内に収まらない場合があります。

そのような場合には「**PARAM_PrintPage」を使用することで、印刷対象ページを指定することが出来ます（※本パラメータを設定していない場合、1ページ目のみが印刷されます）。

印刷対象ページの指定は、以下の要領で設定します。

1.レイアウトマスタのページレイアウトに、印刷範囲を設定する（Excelのページ設定で、印刷範囲を設定する）。

2.上記で設定した印刷範囲の範囲外の任意のセルに、「**PARAM_PrintPage」と入力する。

3.上記で「**PARAM_PrintPage」を設定した一つ右隣のセルに、印刷するページ番号のパラメータを指定する。

上記の例（「1-2」）の場合、１ページから２ページまでが印刷されます。

印刷対象ページのパラメータは以下の要領で指定することができます。

ケース | 設定例
1ページから5ページまでを印刷 | **PARAM_PrintPage　1-5
2ページのみを印刷 | **PARAM_PrintPage　2
1,3,4ページを印刷 | **PARAM_PrintPage　1,3-4
２ページのみを印刷 | **PARAM_PrintPage　2

| ページ数が何ページになるのか不明の場合は、999などの大きな値を指定しておく事により、シート内のすべてのページの印刷に対応できます（※但し、総枚数が指定したページ数以内の場合に限る）。 例） **PARAM_PrintPage　1-999

| 2ページ目にもタイトル印刷を行いた場合、Excelの印刷タイトル機能を用いて対応することが可能です。ただし、この方法はExcelの機能を使用するため、Excelのインストールが必要になります（Excelをインストールし、サマリマスタの定義にてReportExcelを「T」としてください）。