Documentação do HotXLS

Método SetPatternThemeColor

Define a cor do padrão (plano de fundo) da célula em um dos 12 slots de cor de tema do Office com um ajuste de tonalidade opcional. Este é o complemento de cor de padrão de Interior.SetThemeColor — use-o junto com um Pattern não sólido para renderizar preenchimentos hachurados/pontilhados que retonalizam quando o Excel reaplicar o tema da pasta de trabalho. Disponível desde v2.61.0 (backlog de gráfico onda D fase 4)

Sintaxe

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

Parâmetros

ThemeIdx — slot de tema baseado em 0 (0=lt1, 1=dk1, 2=lt2, 3=dk2, 4..9=accent1..6, 10=hlink, 11=foHlink)
Tint — ajuste de mais claro/mais escuro no intervalo -1.0 .. +1.0. Codificado em FullColorExt.nTintShade como um inteiro com sinal Q15 no registro XFExt

Observações

Dois fios são emitidos para cada chamada para que a célula seja renderizada corretamente tanto no Excel 2007+ quanto no Excel 2003:
A leitura de volta via Interior.PatternColor retorna o RGB resolvido (tema + tonalidade aplicados), portanto os chamadores sempre veem um LongWord concreto

Exemplo

Renderiza uma faixa de aviso listrada usando os slots de tema accent1 / accent2 para que as cores acompanhem o tema da pasta de trabalho

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;

Veja também