مستندات HotXLS

الأسلوب ScanIndexedColorUsage

يعيد جردًا حتميًا لجميع خانات لوحة ألوان المصنف الفعلية البالغ عددها 56 ولتعريفات الألوان المفهرسة ومراجعها التي تستخدمها

يتوفر هذا الأسلوب في IXLSWorkbook وTXLSXWorkbook معًا، ولا يعدّل لوحة الألوان أو الخلايا أو الأنماط أو التنسيقات الشرطية أو حالة المصنف

البنية

function ScanIndexedColorUsage: TXLSIndexedColorUsageArray;

النتيجة

يحوي المصفوفة المعادة دائمًا 56 مدخلًا بترتيب تصاعدي للخانات الفعلية من 8 إلى 63

الحقلالمعنى
ColorIndexفهرس اللوحة العام المقابل من 1 إلى 56
PaletteSlotخانة اللون المفهرس الفعلية بتنسيق BIFF أو OOXML من 8 إلى 63
ARGBاللون المعتم المطبَّع المخزَّن حاليًا في الخانة، أو الصفر إذا تعذر حلّه
DefinitionCountعدد التعريفات المفهرسة التي تشير إلى الخانة
ReferenceCountعدد الكائنات أو الخلايا أو مواضع التنسيق الشرطي المغطاة التي تشير إلى تلك التعريفات
Kindsمجموعة تصف كل فئة مستهلك مرصودة
Lockedصحيح عندما تضم الخانة تعريفًا أو مرجعًا واحدًا على الأقل، وبالتالي يجب أن تحافظ عليها خطة تحسين لوحة الألوان

تغطية المستهلكين

يمكن أن يضم 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);

انظر أيضًا