Dokumentácia HotXLS

Metóda ScanIndexedColorUsage

Vracia deterministický inventár všetkých 56 fyzických slotov palety zošita a definícií a odkazov na indexované farby, ktoré ich používajú

Metóda je k dispozícii na IXLSWorkbook aj TXLSXWorkbook a nemení paletu, bunky, štýly, podmienené formáty ani stav zošita

Syntax

function ScanIndexedColorUsage: TXLSIndexedColorUsageArray;

Výsledok

Vrátené pole vždy obsahuje 56 položiek vo vzostupnom poradí fyzických slotov od 8 do 63

PoleVýznam
ColorIndexZodpovedajúci verejný index palety od 1 do 56
PaletteSlotFyzický slot indexovaných farieb BIFF alebo OOXML od 8 do 63
ARGBNormalizovaná nepriehľadná farba aktuálne uložená v slote, alebo nula, ak sa nedá rozpoznať
DefinitionCountPočet indexovaných definícií smerujúcich na slot
ReferenceCountPočet objektov, buniek alebo pokrytých pozícií podmieneného formátu, ktoré na tieto definície odkazujú
KindsMnožina popisujúca každú pozorovanú kategóriu konzumentov
LockedTrue, keď má slot aspoň jednu definíciu alebo odkaz, a musí byť preto zachovaný plánom optimalizácie palety

Pokrytie konzumentov

Kinds môže zahŕňať písma, popredia výplní, pozadia výplní, gradienty, ohraničenia, podmienené formáty, grafy, tvary, komentáre, nastavenia hárkov a ďalších indexovaných konzumentov

Prehľadávanie classic XLS zahŕňa písma, výplne a ohraničenia XF, mriežku hárkov, farby tvarov a komentárov, odkazy na písma formátovaného textu a grafov, staršie podmienené formáty a dátové lišty či farebné škály BIFF12

Prehľadávanie XLSX zahŕňa materializované odkazy na štýly buniek, prekryvy štýlov, pomenované štýly, fondy písiem, výplní, gradientov a ohraničení, diferenčné štýly, dátové lišty a farebné škály

Priame farby RGB, farby motívov, automatické, systémové a neplatné tokeny farieb fyzické sloty palety nezamknú

Kontrakt výkonu a stavu

Prehľadávanie prechádza len uložené riedke bunky a existujúce metadáta štýlov; nematerializuje zkomprimované bunky ani neprechádza nepoužívané súradnice hárku

Počty používajú saturujúcu 64bitovú aritmetiku, takže veľké rozsahy sa nemôžu zalamovať na menšiu hodnotu

Opakované volania nad nezmeneným zošitom vracajú identické položky a ponechávajú počty vlastnej palety a štatistiky úložiska bez zmeny

Príklad

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

Pozri tiež