مستندات HotXLS

متد ScanIndexedColorUsage

فهرست قطعی تمام 56 خانه فیزیکی پالت کتاب کار و تعاریف و ارجاعات رنگ مفهرسی که از آن‌ها استفاده می‌کنند را برمی‌گرداند

این متد هم روی IXLSWorkbook و هم روی TXLSXWorkbook در دسترس است و پالت، سلول‌ها، سبک‌ها، قالب‌های شرطی یا وضعیت کتاب کار را تغییر نمی‌دهد

نحو

function ScanIndexedColorUsage: TXLSIndexedColorUsageArray;

نتیجه

آرایه بازگشتی همیشه 56 مدخل به ترتیب صعودی خانه‌های فیزیکی از 8 تا 63 در بر دارد

فیلدمعنی
ColorIndexاندیس عمومی متناظر پالت از 1 تا 56
PaletteSlotخانه فیزیکی رنگ مفهرس BIFF یا OOXML از 8 تا 63
ARGBرنگ مات نرمال‌شده‌ای که در حال حاضر در خانه ذخیره است، یا صفر اگر قابل حل نباشد
DefinitionCountتعداد تعاریف مفهرسی که به خانه اشاره می‌کنند
ReferenceCountتعداد اشیا، سلول‌ها یا مواضع قالب شرطی پوشش‌داده‌شده‌ای که به آن تعاریف ارجاع می‌دهند
Kindsمجموعه‌ای که هر رده مصرف‌کننده مشاهده‌شده را توصیف می‌کند
LockedTrue وقتی خانه دست‌کم یک تعریف یا ارجاع دارد و بنابراین طرح بهینه‌سازی پالت باید آن را حفظ کند

پوشش مصرف‌کنندگان

Kinds می‌تواند شامل قلم‌ها، پیش‌زمینه پرکننده، پس‌زمینه پرکننده، گرادیان‌ها، کادرها، قالب‌های شرطی، نمودارها، شکل‌ها، یادداشت‌ها، تنظیمات کاربرگ و سایر مصرف‌کنندگان مفهرس باشد

پویش Classic XLS شامل قلم‌ها، پرکننده‌ها و کادرهای XF، خطوط شبکه کاربرگ، رنگ شکل‌ها و یادداشت‌ها، ارجاعات قلم متن غنی و نمودار، قالب‌های شرطی قدیمی و نوارهای داده یا مقیاس‌های رنگ BIFF12 است

پویش XLSX شامل ارجاعات سبک سلول عینیت‌یافته، روکش‌های سبک، سبک‌های نام‌دار، مجموعه‌های قلم، پرکننده، گرادیان و کادر، سبک‌های تفاضلی، نوارهای داده و مقیاس‌های رنگ است

توکن‌های رنگ مستقیم، تم، خودکار، سیستمی و نامعتبر، خانه‌های فیزیکی پالت را قفل نمی‌کنند

قرارداد عملکرد و وضعیت

پویش فقط سلول‌های خلوت ذخیره‌شده و فراداده سبک موجود را می‌پیماید؛ سلول‌های بسته‌بندی‌شده را عینیت نمی‌بخشد و روی مختصات بلااستفاده کاربرگ تکرار نمی‌کند

شمارنده‌ها از حساب اشباع‌شونده 64 بیتی استفاده می‌کنند تا بازه‌های بزرگ به مقدار کوچک‌تری نپیچند

فراخوانی‌های مکرر روی کتاب کار تغییرنکرده مدخل‌های یکسان برمی‌گرداند و شمارنده‌های پالت سفارشی و آمار ذخیره‌سازی را دست‌نخورده می‌گذارد

مثال

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

همچنین ببینید