Záver
HotXLS nepridáva členov ThemeColor / TintAndShade do klasického priečinka XLS lxHandle. Tieto členy patria do novšieho modelu štýlov OOXML a nemajú skutočný cieľ ukladania BIFF .xls, do ktorého by sa dali previesť. Ich pridanie do starého XLS API by vytvorilo zavádzajúci povrch: hodnoty by sa buď stratili pri ukladaní, alebo by boli zredukované na aproximovanú paletovú farbu
Klasické XLS API lxHandle zapisuje súbory BIFF .xls. BIFF ukladá farby písma, orámovania a výplne prostredníctvom indexov palety, nie cez sloty farieb témy Office
Použitie Color, ColorIndex a Workbook.Colors
Použite
Color, keď chcete priradiť hodnotu RGB. HotXLS mapuje túto hodnotu RGB na aktuálnu paletu zošita. Použite
ColorIndex, keď chcete priamo adresovať slot palety. Použite
IXLSWorkbook.Colors na prispôsobenie položiek palety
Farby témy a odtieň/svetlosť
ThemeColor a TintAndShade sú koncepty štýlov OOXML .xlsx. Klasická fasáda XLS tieto vlastnosti nesprístupňuje, pretože zošit BIFF nemá ekvivalentné úložisko témy/odtieňa, ktoré by Excel mohol previesť späť ako metadáta témy
Ak zdrojový kód používa farby témy a cieľový súbor je .xls, najprv preložte kombináciu témy/odtieňa na farbu RGB, potom priraďte Color alebo vlastnú položku palety. Ak musí vzťah k téme zostať editovateľný v Exceli, použite fasádu XLSX (lxHandleX) a jej vlastnosti štýlu s podporou tém
Príklad
Tento príklad prispôsobí slot palety a použije ho na výplň bunky v klasickom zošite XLS
Workbook.Colors[8, 0] := RGB(42, 107, 191);
Workbook.Worksheets[1].Range['A1', 'D1'].Interior.ColorIndex := 8;