เอกสาร 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);

ดูเพิ่มเติม