Docs HotXLS

SetPatternThemeColor method (Interior)

Définit la couleur de motif (arrière-plan) de la cellule sur l'un des 12 emplacements de couleurs du thème Office, avec un ajustement de teinte facultatif. C'est l'équivalent couleur de motif de Interior.SetThemeColor — use it together with a non-solid Pattern pour générer des remplissages hachurés / pointillés qui se re-teintent quand Excel réapplique le thème du classeur. Disponible depuis la v2.61.0 (vague D du backlog graphique, phase 4)

Syntaxe

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

Paramètres

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

Remarques

Deux enregistrements sont émis à chaque appel pour que la cellule s'affiche correctement aussi bien dans Excel 2007+ que dans Excel 2003 :
Reading back via Interior.PatternColor renvoie le RGB résolu (thème + teinte appliqués), si bien que les appelants voient toujours un LongWord concret

Exemple

Affiche une bande d'avertissement rayée en utilisant les emplacements de thème accent1 / accent2, si bien que les couleurs suivent le thème du classeur

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;

Voir aussi