ScanIndexedColorUsage metode
Returnerer en deterministisk oversikt over alle 56 fysiske palettslotter i arbeidsboken og de indekserte fargedefinisjonene og -referansene som bruker dem
Metoden er tilgjengelig på både IXLSWorkbook og TXLSXWorkbook og endrer ikke palett, celler, stiler, betingede formater eller arbeidsboktilstanden
Syntaks
function ScanIndexedColorUsage: TXLSIndexedColorUsageArray;
Resultat
Den returnerte tabellen inneholder alltid 56 oppføringer i stigende fysisk slot-rekkefølge fra 8 til 63
| Felt | Betydning |
|---|---|
ColorIndex | Den tilhørende offentlige palettindeksen fra 1 til 56 |
PaletteSlot | Den fysiske BIFF- eller OOXML-slotten for indekserte farger, fra 8 til 63 |
ARGB | Den normaliserte ugjennomsiktige fargen som for øyeblikket er lagret på slotten, eller null hvis den ikke kan løses |
DefinitionCount | Antallet indekserte definisjoner som peker på slotten |
ReferenceCount | Antallet objekter, celler eller dekkede betingede formatposisjoner som refererer til disse definisjonene |
Kinds | Et sett som beskriver hver observerte forbrukerkategori |
Locked | Sann når slotten har minst én definisjon eller referanse og derfor må bevares av en plan for palettoptimalisering |
Forbrukerdekning
Kinds kan omfatte skrifter, fyllforgrunner, fyllbakgrunner, gradienter, kantlinjer, betingede formater, diagrammer, figurer, kommentarer, arkinnstillinger og andre indekserte forbrukere
Gjennomsøking i Classic XLS omfatter skrifter, XF-fyllinger og kantlinjer, arkenes rutenett, figur- og kommentarfarger, riktekst- og diagramskriftreferanser, eldre betingede formater og BIFF12-databarer eller fargeskalaer
Gjennomsøking i XLSX omfatter materialiserte cellestilreferanser, stiloverlegg, navngitte stiler, utvalg for skrift, fylling, gradient og kantlinje, differensielle stiler, databarer og fargeskalaer
Direkte RGB-, tema-, automatiske, system- og ugyldige fargetoken låser ikke fysiske palettslotter
Ytelses- og tilstandskontrakt
Gjennomsøkingen traverserer bare lagrede sparse celler og eksisterende stilmetadata; den materialiserer ikke pakkede celler eller itererer over ubrukte regnearkkoordinater
Tellingene bruker mettende 64-bits aritmetikk, slik at store områder ikke kan rulle rundt til en mindre verdi
Gjentatte kall på en uendret arbeidsbok returnerer identiske oppføringer og lar egendefinerte paletttellinger og lagringsstatistikk være uendret
Eksempel
Usage := Workbook.ScanIndexedColorUsage;
for I := 0 to High(Usage) do
if Usage[I].Locked then
PreservePaletteSlot(Usage[I].PaletteSlot);