Docs HotXLS

Méthode ScanIndexedColorUsage

Renvoie un inventaire déterministe des 56 emplacements physiques de la palette du classeur et des définitions et références de couleurs indexées qui les utilisent

La méthode est disponible sur IXLSWorkbook et TXLSXWorkbook et ne modifie ni la palette, ni les cellules, ni les styles, ni les mises en forme conditionnelles, ni l'état du classeur

Syntaxe

function ScanIndexedColorUsage: TXLSIndexedColorUsageArray;

Résultat

Le tableau renvoyé contient toujours 56 entrées dans l'ordre croissant des emplacements physiques de 8 à 63

ChampSignification
ColorIndexL'index public de palette correspondant, de 1 à 56
PaletteSlotL'emplacement physique de couleur indexée BIFF ou OOXML, de 8 à 63
ARGBLa couleur opaque normalisée actuellement stockée à l'emplacement, ou zéro si elle ne peut être résolue
DefinitionCountLe nombre de définitions indexées qui pointent vers l'emplacement
ReferenceCountLe nombre d'objets, de cellules ou de positions de mises en forme conditionnelles couvertes qui référencent ces définitions
KindsUn ensemble décrivant chaque catégorie de consommateurs observée
LockedTrue lorsque l'emplacement comporte au moins une définition ou référence et doit donc être préservé par un plan d'optimisation de palette

Couverture des consommateurs

Kinds peut inclure les polices, les premiers plans de remplissage, les arrière-plans de remplissage, les dégradés, les bordures, les mises en forme conditionnelles, les graphiques, les formes, les commentaires, les paramètres de feuille de calcul et d'autres consommateurs indexés

Le balayage XLS classique inclut les polices, les remplissages et bordures XF, les quadrillages de feuilles de calcul, les couleurs de formes et de commentaires, les références de polices de texte enrichi et de graphiques, les mises en forme conditionnelles héritées et les barres de données ou échelles de couleurs BIFF12

Le balayage XLSX inclut les références de styles de cellules matérialisées, les superpositions de styles, les styles nommés, les pools de polices, de remplissages, de dégradés et de bordures, les styles différentiels, les barres de données et les échelles de couleurs

Les jetons de couleurs RVB directes, de thème, automatiques, système et invalides ne verrouillent pas les emplacements physiques de la palette

Contrat de performances et d'état

Le balayage parcourt uniquement les cellules clairsemées stockées et les métadonnées de styles existantes ; il ne matérialise pas de cellules compactées et n'itère pas sur les coordonnées de feuilles de calcul inutilisées

Les comptages utilisent une arithmétique 64 bits saturante afin que de grandes plages ne puissent pas revenir à une valeur inférieure

Des appels répétés sur un classeur inchangé renvoient des entrées identiques et laissent les compteurs de palette personnalisée et les statistiques de stockage inchangés

Exemple

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

Voir aussi