HotXLS 文档

SetPatternThemeColor 方法(内部填充)

将单元格图案(背景)颜色设置为 12 个 Office 主题颜色槽之一,并带可选色调调整。这是 Interior.SetThemeColor 的图案颜色配套方法 — 将其与非实心 Pattern 一起使用,可渲染在 Excel 重新应用工作簿主题时会重新着色的阴影/点状填充。自 v2.61.0(图表待办 wave D phase 4)起可用

语法

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

参数

ThemeIdx — 从 0 开始的主题槽 (0=lt1, 1=dk1, 2=lt2, 3=dk2, 4..9=accent1..6, 10=hlink, 11=foHlink
Tint — 规范风格的变浅/变深调整,范围为 -1.0 .. +1.0 以 Q15 有符号整数编码到 XFExt 记录的 FullColorExt.nTintShade

备注

每次调用都会发射两条数据线,使单元格在 Excel 2007+ 和 Excel 2003 中均能正确渲染:
通过 Interior.PatternColor 回读返回解析后的 RGB(应用了主题 + 色调),因此调用方始终看到具体的 LongWord

示例

使用 accent1 / accent2 主题槽渲染条纹状警告带,使颜色跟随工作簿主题

var
  Stripes: IXLSRange;
begin
  Stripes := Workbook.Sheets[1].Range['B2', 'B10'];
  Stripes.Interior.Pattern := xlPatternGray25;
  Stripes.Interior.SetThemeColor(4, 0.4);          // 填充前景色(accent1,变浅)
  Stripes.Interior.SetPatternThemeColor(5, - 0.25);  // 图案颜色(accent2,变深)

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

参见