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
| Campo | Significato |
|---|---|
ColorIndex | L'indice pubblico corrispondente della tavolozza, da 1 a 56 |
PaletteSlot | Lo slot fisico di colore indicizzato BIFF o OOXML, da 8 a 63 |
ARGB | Il colore opaco normalizzato attualmente memorizzato nello slot, oppure zero se non può essere risolto |
DefinitionCount | Il numero di definizioni indicizzate che puntano allo slot |
ReferenceCount | Il numero di oggetti, celle o posizioni coperte di formattazioni condizionali che referenziano quelle definizioni |
Kinds | Un insieme che descrive ogni categoria di consumer osservata |
Locked | True 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);