HotXLS-dokumentation

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

FeltBetydning
ColorIndexDet tilsvarende offentlige paletindeks fra 1 til og med 56
PaletteSlotDet fysiske BIFF- eller OOXML-indekserede farveslot fra 8 til og med 63
ARGBDen normaliserede uigennemsigtige farve, der i øjeblikket er gemt på slottet, eller nul, hvis den ikke kan opløses
DefinitionCountAntallet af indekserede definitioner, der peger på slottet
ReferenceCountAntallet af objekter, celler eller dækkede positioner for betinget formatering, der refererer til disse definitioner
KindsEt sæt, der beskriver hver observeret forbrugerkategori
LockedTrue, 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);

Se også