将逐边边框颜色设置为 12 个 Office 主题颜色槽之一,并带可选色调。
Border.Color 的主题配套方法。在每个边选择器上均可用(上、下、左、右、对角线,以及复合选择器 xlAround、xlInsideVertical、xlInsideHorizontal、xlInsideAll)。自 v2.61.0 起可用;复合选择器路径在 v2.63.0(wave D phase 6)中完成
语法
procedure SetThemeColor(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 中
备注
与 Interior / Font 设置器采用相同的双数据线发射:
- XF 记录在匹配的边槽上获得最佳匹配的索引 icv,以兼容 Excel 97-2003
- XFExt $087D 记录在匹配的边框 extType($0007 上、$0008 下、$0009 左、$000A 右、$000B 对角线)上获得一个 FullColorExt 槽,其中
xclrType=3 且 xclrValue=ThemeIdx
复合选择器通过内部槽集合辅助函数在一次单元格循环中为每个物理边注册一个 XFExt 槽。
xlAround 注册
{rsTop, rsBottom, rsLeft, rsRight};
xlInsideVertical 注册
{rsLeft, rsRight};
xlInsideHorizontal 注册
{rsTop, rsBottom};
xlInsideAll 注册全部四个。通过
Border.Color 回读返回解析后的 RGB
BIFF8 FullColorExt 仅携带单一对角线颜色,因此 xlDiagonalDown 和 xlDiagonalUp 共享同一 XFExt 槽(rsDiag)
示例
用 accent4(主题颜色)为报表带绘制外边框,并添加一条色调变浅 25% 的 accent5 内部分隔线
var
Report: IXLSRange;
begin
Report := Workbook.Sheets[1].Range['A1', 'F20'];
Report.Borders[xlAround].SetThemeColor(7, 0.0);
Report.Borders[xlInsideHorizontal].SetThemeColor(8, 0.25);
Workbook.SaveAs('ThemedBorders.xls', xlExcel97);
end;
参见