HotXLS 文件

SetThemeColor 方法

將儲存格網底填滿(前景)色彩設定為 12 個 Office 佈景主題色彩插槽之一,並帶有選用色調調整。Interior.Color 的配套方法,供需要直接定址 Office 佈景主題色彩的呼叫端使用(讓 Excel 可以使用活頁簿佈景主題調色盤重新套用儲存格色調),而非固定 RGB。自 v2.61.0(圖表待辦清單 wave D 第 4 階段)起可用

語法

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

參數

ThemeIdx — 以 0 為基底的佈景主題插槽: 0=lt11=dk12=lt23=dk24..9=accent1..accent610=hlink11=foHlink 與 XLSX 端使用的標準 Office 佈景主題順序對應
Tint — 規格樣式的明暗調整,範圍 -1.0 .. +1.0 0.0 使用佈景主題插槽的基本色彩;負值變暗(HSL 亮度趨向 0),正值變淡(HSL 亮度趨向 1)。HotXLS 讀取器將此編碼為 XFExt 記錄中 FullColorExt.nTintShade 欄位的 Q15 帶正負號整數

備註

設定器走兩條路徑,使相同儲存格在 Excel 2007+ 和 Excel 2003 中均能正確呈現:
透過 SetThemeColor 設定的儲存格在載入時往返:Interior.Color 傳回已解析的 RGB(透過 BIFF 佈景主題調色盤套用佈景主題 + 色調),因此呼叫端始終看到具體的 LongWord 值
透過 Excel 中的頁面配置 → 色彩設定的自訂佈景主題調色盤透過 BIFF8 Theme ($0892) 記錄存活於載入和儲存,因此任何呼叫端的 SetThemeColor 參照都透過活頁簿的實際佈景主題(而非預設 Office 配色)解析

範例

以 accent1 填滿標題列,並以 50% 淡化的紅色強調色(accent2 + 0.5 色調)標記警告儲存格

var
  Header   : IXLSRange;
  Warnings : IXLSRange;
begin
  Header := Workbook.Sheets[1].Range['A1', 'G1'];
  Header.Interior.SetThemeColor(4, 0.0);   // accent1, base shade

  Warnings := Workbook.Sheets[1].Range['G2', 'G20'];
  Warnings.Interior.SetThemeColor(5, 0.5);   // accent2, 50% lighter

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

另請參閱