Документация HotXLS

Цветовая модель классического XLS

Заключение

HotXLS не добавляет члены ThemeColor / TintAndShade к классическому фасаду XLS lxHandle. Эти члены принадлежат более новой модели стилей OOXML и не имеют реального, сохраняемого без потерь хранилища BIFF .xls. Добавление их к старому API XLS создало бы вводящий в заблуждение интерфейс: значения либо терялись бы при сохранении, либо сводились бы к приближённому цвету палитры
Классический API XLS lxHandle записывает файлы BIFF .xls. BIFF хранит цвета шрифтов, рамок и заливки через индексы палитры, а не через слоты цветов темы Office

Использование Color, ColorIndex и Workbook.Colors

Используйте Color, когда хотите задать значение RGB. HotXLS сопоставляет это значение RGB с текущей палитрой рабочей книги. Используйте ColorIndex, когда хотите обратиться непосредственно к слоту палитры. Используйте IXLSWorkbook.Colors для настройки записей палитры

Цвета темы и оттенки/тени

ThemeColor и TintAndShade — концепции стилей OOXML .xlsx. Классический фасад XLS не предоставляет эти свойства, поскольку рабочая книга BIFF не имеет эквивалентного хранилища темы/оттенка, которое Excel мог бы сохранить как метаданные темы
Если исходный код использует цвета темы, а целевой файл — .xls, сначала преобразуйте комбинацию тема/оттенок в цвет RGB, затем присвойте Color или пользовательскую запись палитры. Если связь с темой должна оставаться редактируемой в Excel, используйте фасад XLSX (lxHandleX) и его свойства стилей, поддерживающие темы

Пример

Этот пример настраивает слот палитры и использует его для заливки ячейки в классической рабочей книге XLS

Workbook.Colors[8, 0] := RGB(42, 107, 191);
Workbook.Worksheets[1].Range['A1', 'D1'].Interior.ColorIndex := 8;