Documentazione HotXLS

Metodo ScanIndexedColorUsage

Restituisce un inventario deterministico di tutti i 56 slot fisici della tavolozza del workbook e delle definizioni e riferimenti di colori indicizzati che li utilizzano

Il metodo è disponibile sia su IXLSWorkbook sia su TXLSXWorkbook e non modifica la tavolozza, le celle, gli stili, le formattazioni condizionali né lo stato del workbook

Sintassi

function ScanIndexedColorUsage: TXLSIndexedColorUsageArray;

Risultato

L'array restituito contiene sempre 56 voci in ordine crescente di slot fisici da 8 a 63

CampoSignificato
ColorIndexL'indice pubblico corrispondente della tavolozza, da 1 a 56
PaletteSlotLo slot fisico di colore indicizzato BIFF o OOXML, da 8 a 63
ARGBIl colore opaco normalizzato attualmente memorizzato nello slot, oppure zero se non può essere risolto
DefinitionCountIl numero di definizioni indicizzate che puntano allo slot
ReferenceCountIl numero di oggetti, celle o posizioni coperte di formattazioni condizionali che referenziano quelle definizioni
KindsUn insieme che descrive ogni categoria di consumer osservata
LockedTrue quando lo slot ha almeno una definizione o referenza e deve quindi essere preservato da un piano di ottimizzazione della tavolozza

Copertura dei consumer

Kinds può includere caratteri, primi piani e sfondi dei riempimenti, sfumature, bordi, formattazioni condizionali, grafici, forme, commenti, impostazioni del foglio di lavoro e altri consumer indicizzati

La scansione XLS classica comprende caratteri, riempimenti e bordi XF, linee della griglia dei fogli di lavoro, colori di forme e commenti, riferimenti ai caratteri di testo formattato e grafici, formattazioni condizionali legacy e barre dati o scale di colori BIFF12

La scansione XLSX comprende riferimenti di stile delle celle materializzati, overlay di stili, stili denominati, pool di caratteri, riempimenti, sfumature e bordi, stili differenziali, barre dati e scale di colori

I token di colore RGB diretto, del tema, automatici, di sistema e non validi non bloccano gli slot fisici della tavolozza

Contratto di prestazioni e stato

La scansione attraversa solo le celle sparse memorizzate e i metadati di stile esistenti; non materializza celle compattate né itera sulle coordinate inutilizzate del foglio di lavoro

I conteggi usano aritmetica a 64 bit saturante così che intervalli molto grandi non possano ripiegare su un valore minore

Chiamate ripetute su un workbook invariato restituiscono voci identiche e lasciano invariati i conteggi della tavolozza personalizzata e le statistiche di archiviazione

Esempio

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

Vedere anche