Q13:テーブルで設定した背景の色をエクセルに反映したい。
Q13-1:
Excelファイルへ出力はできたのですが、背景の色設定を行いたいのですが、その処理を入れる場所がわかりません。
A13-1:
MZ上のテーブルからExcelファイルに背景色を出力する一般的な処理については、サンプルのExcelファイルアクセスに含まれています。背景色を設定するためには、
(1)Excelファイルアクセスコンポーネントで書式オブジェクトを作成して、
(2)その書式オブジェクトに背景色を設定して、
(3)書式オブジェクトをセルに設定する
という流れになります。
ただし、サンプルの処理では全セルの書式を複製しているため、セル数が多くなったときに作成されたExcelファイルを開いたときにエラーが表示されるという問題があります。これは、書式オブジェクトには罫線や背景色などを設定することができますが、それらをセルごとに変更するためには別の書式オブジェクトを作成する必要があるからです。
そのため、対象となるセル数が多いときは書式オブジェクトが増えすぎないよう、個別に処理を検討する必要があります。仮に、白色と白色以外の色の二色のセルしか存在しないと仮定した場合には、2つの書式オブジェクトを使用することになります。今後、罫線を出力する等をご予定の場合は別途処理を検討する必要があります。
また、注意点としてExcelファイル上で利用できる色は限定されており、MZ上の色と完全に同じものは再現できないことがあります。微妙に違う色が出力されると思いますのでご留意ください。
Q13-2:
複数色対応する場合はどの様にすればよいか ご指導宜しくお願いします。
A13-2:
@複数色を使用するということですが、もう少し詳しい条件、目的、実現したい動作などをお知らせ下さい。
条件によって適した処理は変わってきます。
使用する色は決まっていなくても大丈夫ですが、使用する色数は決まっていないと難しくなるかも知れません。
Q13-3:
1番のお問い合わせの件は、完成品、外注中の品目、検査済、予定出荷日を超えたものに関しては赤色にするとか、品目の区分番号により色分けしたいと思います。
使用予定の色に関しては、赤色、肌色、水色、黄色、うす緑を予定しています。
A13-3:
複数の背景色設定処理例のアプリケーションファイルを掲載致します。
使用色や色数は限定していません。
別件になりますが、支障がない限り終了時に画面構成部品等のデータをクリアして頂くと、ファイルサイズは小さくなります。どうかご検討下さい。
関連ファイル:a1.mzax
Q13-4:
掲載されているプログラムで、エクセルで出力した場合に、テーブルの項目名がないので、項目名まで出る様にする場合どうすればよろしいのでしょうか?
A13-4:
現在のところ簡単に列ヘッダーの情報を出力するといった機能はございません。
ので、データ行はEXCELシートの先頭行からではなく一行ずらして設定し、0行名に列名を値としてセルに設定するといった考え方になります。
先日お送りしたファイルを修正してお送り致しますので、どうぞご検討ください。
[整数格納変数]を使用して行指定位置を一行ずらしたり、0行目を特に指定してセルの値を設定したりということになります。
ご不明な点がございましたら、再度ご連絡頂ければ幸いです。
よろしくお願い致します。
関連ファイル:a2.mzax