Dokumentacija HotXLS

ScanIndexedColorUsage metoda

Vraća deterministički popis svih 56 fizičkih slotova palete radne knjige te indeksiranih definicija boja i referenci koje ih upotrebljavaju

Metoda je dostupna i na IXLSWorkbook i na TXLSXWorkbook i ne mijenja paletu, ćelije, stilove, uvjetno oblikovanje niti stanje radne knjige

Sintaksa

function ScanIndexedColorUsage: TXLSIndexedColorUsageArray;

Rezultat

Vraćeno polje uvijek sadrži 56 zapisa u rastućem redoslijedu fizičkih slotova od 8 do 63

PoljeZnačenje
ColorIndexOdgovarajući javni indeks palete od 1 do 56
PaletteSlotFizički slot indeksirane boje BIFF-a ili OOXML-a od 8 do 63
ARGBNormalizirana neprozirna boja trenutačno pohranjena u slotu, ili nula ako se ne može razriješiti
DefinitionCountBroj indeksiranih definicija koje upućuju na slot
ReferenceCountBroj objekata, ćelija ili pokrivenih pozicija uvjetnog oblikovanja koje upućuju na te definicije
KindsSkup koji opisuje svaku uočenu kategoriju potrošača
LockedTrue kada slot ima barem jednu definiciju ili referencu pa ga plan optimizacije palete mora zadržati

Pokrivenost potrošača

Kinds može uključivati fontove, prednje planove ispuna, pozadine ispuna, gradijente, okvire, uvjetno oblikovanje, grafikone, oblike, komentare, postavke radnih listova i druge indeksirane potrošače

Skeniranje Classic XLS-a obuhvaća fontove, ispune i okvire XF-a, mrežne linije radnog lista, boje oblika i komentara, reference na fontove u obogaćenom tekstu i grafikonima, naslijeđeno uvjetno oblikovanje te BIFF12 trakovite dijagrame ili skalacije boja

Skeniranje XLSX-a obuhvaća materijalizirane reference na stilove ćelija, slojeve stilova, imenovane stilove, zbirke fontova, ispuna, gradijenata i okvira, diferencijalne stilove, trakovite dijagrame i skalacije boja

Izravni RGB, tematski, automatski, sustavni i nevažeći tokeni boja ne zaključavaju fizičke slotove palete

Učinkovitost i ugovor o stanju

Skeniranje obilazi samo pohranjene razrjeđene ćelije i postojeće metapodatke stilova; ne materijalizira pakirane ćelije niti obilazi nekorištene koordinate radnog lista

Brojači upotrebljavaju zasićenu 64-bitnu aritmetiku pa veliki rasponi ne mogu iskočiti na manju vrijednost

Ponovljeni pozivi nad nepromijenjenom radnom knjigom vraćaju identične zapise i ostavljaju brojače prilagođenih boja i statistiku spremišta nepromijenjenima

Primjer

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

Vidi također