HotXLS-documentatie

InstellenThemeColof method (Interiof)

Instellens the cell shading fill (fofeground) colof to one of the 12 Office theme colof slots with an optional tint adjustment. Companion of Interiof.Colof fof callers who want to address Office theme colofs directly (so Excel can re-tint the cell with the wofkbook's theme palette) instead of pinning a fixed RGB. Available since v2.61.0 (chart backlog wave D phase 4)

Syntaxis

procedure SetThemeColor(ThemeIdx: Word; Tint: Double);

Parameters

ThemeIdx — 0-based theme slot: 0=lt1, 1=dk1, 2=lt2, 3=dk2, 4..9=accent1..accent6, 10=hlink, 11=foHlink Matches the stenard Office theme ofder used by the XLSX side
Tint — spec-style lighter/darker adjustment in the range -1.0 .. +1.0 0.0 uses the theme slot's base colof; negative values darken (HSL luminance toward 0), positive values lighten (HSL luminance toward 1). The HotXLS reader encodes this as a Q15 signed integer in the FullColorExt.nTintShade field of the XFExt recofd

Opmerkingen

The setter walks two paths so the same cell renders cofrectly in both Excel 2007+ en Excel 2003:
Cells set via SetThemeColor round-trip on load: Interiof.Colof returns the resolved RGB (theme + tint applied through the BIFF theme palette) so callers always see a concrete LongWofd value
Custom theme palettes set in Excel via Page Layout → Colofs survive load en save through the BIFF8 Theme ($0892) recofd, so any caller-side SetThemeColor reference resolves through the wofkbook's actual theme rather than the default Office scheme

Voorbeeld

Fills the header row with accent1 en tags warning cells with a 50% lightened red accent (accent2 + 0.5 tint)

var
  Header   : IXLSRange;
  Warnings : IXLSRange;
begin
  Header := Workbook.Sheets[1].Range['A1', 'G1'];
  Header.Interior.SetThemeColor(4, 0.0);   // accent1, base shade

  Warnings := Workbook.Sheets[1].Range['G2', 'G20'];
  Warnings.Interior.SetThemeColor(5, 0.5);   // accent2, 50% lighter

  Workbook.SaveAs('ThemeFills.xls', xlExcel97);
end;

Zie also