SSpread

Q1 24
SSpreadでセルのBackColorプロパティを「$STD」に指定しても背景色が白に変更されない 
[内容]
特定セルのBackColorプロパティを白以外の色へ設定した後、BackColorプロパティに「$STD」を設定しても背景色が白に戻らない  
A1 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集 トップへ