Sätter cellens mönsterfärg (bakgrund) till en av de 12 Office-temafärgplatserna med valfri justering av tint. Detta är mönsterfärgsmotsvarigheten till
Interior.SetThemeColor — use it together with a non-solid
Pattern för att rendera skrafferade/streckade fyllnader som tonas om när Excel återanvänder arbetsbokens tema. Tillgängligt sedan v2.61.0 (chart backlog våg D fas 4)
Syntax
procedure SetPatternThemeColor(ThemeIdx: Word; Tint: Double);
Parametrar
ThemeIdx — 0-based theme slot
(0=lt1, 1=dk1, 2=lt2, 3=dk2, 4..9=accent1..6, 10=hlink, 11=foHlink)
Tint — spec-style lighter/darker adjustment in the range -1.0 .. +1.0
Encoded into FullColorExt.nTintShade as a Q15 signed integer on the XFExt
record
Anmärkningar
Två trådformat genereras vid varje anrop så att cellen renderas korrekt i både Excel 2007+ och Excel 2003:
- XF-posten får ett bäst matchande indexerat icv för mönsterfärgen (äldre läsväg)
- The XFExt $087D record gets a FullColorExt slot for the
fillBg extType ($0005) with xclrType=3 (theme), xclrValue=ThemeIdx, and nTintShade derived from Tint
Reading back via
Interior.PatternColor returnerar den upplösta RGB-färgen (tema + tint tillämpad), så anropare ser alltid ett konkret LongWord
Exempel
Renderar ett randigt varningsband med temaplatserna accent1 / accent2 så att färgerna följer arbetsbokens tema
var
Stripes: IXLSRange;
begin
Stripes := Workbook.Sheets[1].Range['B2', 'B10'];
Stripes.Interior.Pattern := xlPatternGray25;
Stripes.Interior.SetThemeColor(4, 0.4); // fill foreground (accent1, lighter)
Stripes.Interior.SetPatternThemeColor(5, - 0.25); // pattern color (accent2, darker)
Workbook.SaveAs('PatternThemeFills.xls', xlExcel97);
end;
Se även