ScanIndexedColorUsage metode
Returnerer et deterministisk inventar af alle 56 fysiske paletslots i projektmappen samt de indekserede farvedefinitioner og referencer, der bruger dem
Metoden er tilgængelig på både IXLSWorkbook og TXLSXWorkbook og ændrer ikke palet, celler, typografier, betingede formateringer eller projektmappens tilstand
Syntaks
function ScanIndexedColorUsage: TXLSIndexedColorUsageArray;
Resultat
Det returnerede array indeholder altid 56 poster i stigende fysisk slotrækkefølge fra 8 til og med 63
| Felt | Betydning |
|---|---|
ColorIndex | Det tilsvarende offentlige paletindeks fra 1 til og med 56 |
PaletteSlot | Det fysiske BIFF- eller OOXML-indekserede farveslot fra 8 til og med 63 |
ARGB | Den normaliserede uigennemsigtige farve, der i øjeblikket er gemt på slottet, eller nul, hvis den ikke kan opløses |
DefinitionCount | Antallet af indekserede definitioner, der peger på slottet |
ReferenceCount | Antallet af objekter, celler eller dækkede positioner for betinget formatering, der refererer til disse definitioner |
Kinds | Et sæt, der beskriver hver observeret forbrugerkategori |
Locked | True, når slottet har mindst én definition eller reference og derfor skal bevares af en paletoptimeringsplan |
Forbrugerdækning
Kinds kan omfatte skrifttyper, fyldforgrunde, fyldbaggrunde, gradienter, kanter, betinget formatering, diagrammer, figurer, kommentarer, regnearksindstillinger og andre indekserede forbrugere
Scanning af Classic XLS omfatter skrifttyper, XF-fyld og -kanter, regnearkets gitterlinjer, figurers og kommentarers farver, rich-text- og diagrams skrifttypereferencer, ældre betinget formatering samt BIFF12-databjælker eller -farveskalaer
Scanning af XLSX omfatter materialiserede cellstilstandsreferencer, tilstandsoverlejringer, navngivne typografier, puljer af skrifttyper, fyld, gradienter og kanter, differentielle typografier, databjælker og farveskalaer
Direkte RGB-, tema-, automatiske, system- og ugyldige farvetokens låser ikke fysiske paletslots
Ydelse og tilstandskontrakt
Scanningen gennemløber kun gemte sparsomme celler og eksisterende typografimetdata; den materialiserer ikke pakkede celler eller itererer over uanvendte regnearkskoordinater
Optællingerne bruger mættende 64-bit aritmetik, så store områder ikke kan vikle rundt til en mindre værdi
Gentagne kald på en uændret projektmappe returnerer identiske poster og efterlader antal brugerdefinerede paletfarver og lagerstatistik uændret
Eksempel
Usage := Workbook.ScanIndexedColorUsage;
for I := 0 to High(Usage) do
if Usage[I].Locked then
PreservePaletteSlot(Usage[I].PaletteSlot);