HotXLS 문서

ScanIndexedColorUsage 메서드

56개 물리적 통합 문서 팔레트 슬롯 전체와 이를 사용하는 인덱스 색 정의 및 참조에 대한 결정론적인 인벤토리를 반환합니다

이 메서드는 IXLSWorkbook과 TXLSXWorkbook 모두에서 사용할 수 있으며 팔레트, 셀, 스타일, 조건부 서식 또는 통합 문서 상태를 수정하지 않습니다

구문

function ScanIndexedColorUsage: TXLSIndexedColorUsageArray;

결과

반환된 배열은 항상 8부터 63까지 오름차순 물리적 슬롯 순서로 56개 항목을 포함합니다

필드의미
ColorIndex1부터 56까지의 해당 공용 팔레트 인덱스
PaletteSlot8부터 63까지의 물리적 BIFF 또는 OOXML 인덱스 색 슬롯
ARGB슬롯에 현재 저장된 정규화된 불투명 색이며, 해석할 수 없으면 0
DefinitionCount해당 슬롯을 가리키는 인덱스 정의 수
ReferenceCount해당 정의를 참조하는 개체, 셀 또는 커버되는 조건부 서식 위치 수
Kinds관찰된 모든 소비자 범주를 설명하는 집합
Locked슬롯에 하나 이상의 정의 또는 참조가 있을 때 true이며, 따라서 팔레트 최적화 계획이 보존해야 합니다

소비자 범위

Kinds에는 글꼴, 채우기 전경, 채우기 배경, 그라데이션, 테두리, 조건부 서식, 차트, 도형, 주석, 워크시트 설정 및 기타 인덱스 소비자가 포함될 수 있습니다

클래식 XLS 검사에는 글꼴, XF 채우기 및 테두리, 워크시트 눈금선, 도형 및 주석 색, 서식 있는 텍스트와 차트 글꼴 참조, 레거시 조건부 서식, BIFF12 데이터 막대 및 색 눈금이 포함됩니다

XLSX 검사에는 실체화된 셀 스타일 참조, 스타일 오버레이, 명명된 스타일, 글꼴, 채우기, 그라데이션 및 테두리 풀, 차등 스타일, 데이터 막대 및 색 눈금이 포함됩니다

직접 RGB, 테마, 자동, 시스템 및 잘못된 색 토큰은 물리적 팔레트 슬롯을 잠그지 않습니다

성능 및 상태 계약

검사는 저장된 스파스 셀과 기존 스타일 메타데이터만 순회하며, 패킹된 셀을 실체화하거나 사용되지 않는 워크시트 좌표를 반복하지 않습니다

개수는 포화 64비트 산술을 사용하므로 큰 범위가 더 작은 값으로 래핑될 수 없습니다

변경되지 않은 통합 문서에 대한 반복 호출은 동일한 항목을 반환하며 사용자 지정 팔레트 개수와 저장소 통계를 변경하지 않습니다

예제

Usage := Workbook.ScanIndexedColorUsage;
for I := 0 to High(Usage) do
  if Usage[I].Locked then
    PreservePaletteSlot(Usage[I].PaletteSlot);

참고 항목