HotXLS 문서

SetThemeColor 메서드 (Interior)

선택적 색조 조정을 사용하여 12개 Office 테마 색상 슬롯 중 하나에 셀 음영 채우기(전경) 색상을 설정합니다. 고정 RGB를 고정하는 대신 Office 테마 색상을 직접 지정하려는 호출자를 위한 Interior.Color의 동반 메서드입니다(Excel이 통합 문서의 테마 팔레트로 셀을 다시 색조 처리할 수 있도록). v2.61.0 이후 사용 가능(차트 백로그 웨이브 D 단계 4)

구문

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

매개변수

ThemeIdx — 0 기반 테마 슬롯: 0=lt1, 1=dk1, 2=lt2, 3=dk2, 4..9=accent1..accent6, 10=hlink, 11=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 테마($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;

참고 항목