将单元格图案(背景)颜色设置为 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 中均能正确渲染:
- XF 记录为图案颜色获得最佳匹配的索引 icv(旧版读取器路径)
- XFExt $087D 记录为
fillBg extType($0005)获得一个 FullColorExt 槽,其中 xclrType=3(主题)、xclrValue=ThemeIdx,并由 Tint 推导出 nTintShade
示例
使用 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;
参见