Conclusie
HotXLS voegt geen ThemeColor / TintAndShade-leden toe aan de klassieke lxHandle-XLS-facade. Die leden horen bij het nieuwere OOXML-stijlenmodel en hebben geen echt, round-trippable BIFF-.xls-opslagdoel. Het toevoegen ervan aan de oude XLS-API zou een misleidend oppervlak creƫren: waarden zouden bij het opslaan verloren gaan of worden gereduceerd tot een benaderende paletkleur
De klassieke lxHandle-XLS-API schrijft BIFF-.xls-bestanden. BIFF slaat lettertype-, rand- en vulkleuren op via paletindexen, niet via Office-themakleurposities
Color, ColorIndex en Workbook.Colors gebruiken
Gebruik
Color wanneer u een RGB-waarde wilt toewijzen. HotXLS wijst die RGB-waarde toe aan het huidige werkmappalet. Gebruik
ColorIndex wanneer u een paletpositie rechtstreeks wilt aanspreken. Gebruik
IXLSWorkbook.Colors om paletitems aan te passen
Themakleuren en tint/schaduw
ThemeColor en TintAndShade zijn OOXML-.xlsx-stijlconcepten. De klassieke XLS-facade stelt die eigenschappen niet beschikbaar omdat een BIFF-werkmap geen equivalente thema/tint-opslag heeft die Excel als themametadata kan round-trippen
Als broncode themakleuren gebruikt en het doelbestand .xls is, los de thema/tint-combinatie dan eerst op tot een RGB-kleur en wijs vervolgens Color of een aangepast paletitem toe. Als de themarelatie in Excel bewerkbaar moet blijven, gebruik dan de XLSX-facade (lxHandleX) en de themabewuste stijleigenschappen
Voorbeeld
Dit voorbeeld past een paletpositie aan en gebruikt deze voor een celvulling in een klassieke XLS-werkmap
Workbook.Colors[8, 0] := RGB(42, 107, 191);
Workbook.Worksheets[1].Range['A1', 'D1'].Interior.ColorIndex := 8;