SSpread
24
SSpreadでセルのBackColorプロパティを「$STD」に指定しても背景色が白に変更されない
[内容]
特定セルのBackColorプロパティを白以外の色へ設定した後、BackColorプロパティに「$STD」を設定しても背景色が白に戻らない
24
「$STD」は白ではなく、「標準色」の扱いとなります。
また、SSpreadクラスは背景色の描画がシート・列・行・セルといった複数階層で構成されているため、BackColorプロパティへ「$STD」を設定した際の解釈が他のオブジェクトと異なります。
BackColorプロパティの描画レイヤは基本的に以下、5階層に分けられています。
[ BackColorプロパティの描画レイヤ ]
優先度高
1.
セル単位のセル背景色
Col=-1以外, Row=-1以外に対するBackColorプロパティ指定
2.
行単位のセル背景色
Col=-1以外, Row=-1に対するBackColorプロパティ指定
3.
列単位のセル背景色
Col=-1, Row=-1以外に対するBackColorプロパティ指定
4.
SetOddEvenRowColorメソッドで指定した背景色
5.
スプレッドシート全体に対するセル背景色
Col=-1, Row=-1に対するBackColorプロパティ指定
優先度低
「$STD」と判断される背景色は、上記描画レイヤの優先度に従います。
例えば、行単位で背景色に灰色を設定します。
その後、特定のセルだけ背景色を黄色にします。
BackColor = $YELLOW;
セルの背景色を黄色から「$STD」に変更すると、背景色は灰色になります。
BackColor = $STD;
このように「$STD」を指定した場合、BackColorプロパティを変更する対象の1階層下のレイヤの色が反映されます。
最下層となるプレッドシート全体に対するBackColorプロパティへ「$STD」を設定した場合は、白が反映されます。
※
本件で記述しているのは、BackColorプロパティのみの基本的な描画レイヤです。
その他のプロパティ・メソッドと組合わせた場合は、結果が異なる場合があります。
「$STD」で背景色を変更する場合は、上記の描画レイヤを参考に設定ください。
管理番号:Sspd50_024
Biz-Collections Bizの宝箱 トップへ
Biz/Browser V・Biz/Designer V TIPS集 トップへ