เจาะลึกสถาปัตยกรรม Table Styles ใน Microsoft Word: ระบบสี Tint/Shade, แกลเลอรีสไตล์ และ Conditional Formatting
ความสามารถในการจัดรูปแบบตารางอัตโนมัติของ Microsoft Word ไม่ได้เกิดขึ้นจากการสุ่มค่าสีหรือลงสีแบบตายตัว แต่ทำงานผ่านสถาปัตยกรรม Office Open XML (OOXML / ECMA-376) ที่ผูกโยงระหว่างโครงสร้างข้อมูล เวกเตอร์การคำนวณสี และแฟล็กเงื่อนไขการแสดงผลอย่างเป็นระบบ
การเข้าใจกลไกทั้ง 3 ส่วนนี้ ช่วยให้การออกแบบ Master Template และการควบคุมเอกสารระดับองค์กรทำงานได้อย่างแม่นยำและไม่ผิดเพี้ยน
ระบบโครงสร้างสี (Theme Color & Tints/Shades)
ตารางสำเร็จรูปใน Word จะไม่บันทึกรหัสสีแบบค่าคงที่ (Hardcoded Hex/RGB) ลงไปในเซลล์โดยตรง แต่ใช้วิธี Symbolic Color Binding คือการอ้างอิงชื่อสล็อตสีในธีมเอกสาร ร่วมกับการแปลงความสว่างผ่านตัวคูณคณิตศาสตร์
โครงสร้างพารามิเตอร์ใน OOXML (styles.xml)
w:themeColor: กำหนดสล็อตสีหลักของธีม มี 12 ตัวแปรมาตรฐาน ได้แก่dark1,light1,dark2,light2และกลุ่มสีเน้นaccent1ถึงaccent6w:themeTint: ตัวคูณการผสมสีขาว (Tinting) เพื่อทำให้สีสว่างขึ้น ใช้ช่วงค่าเลขฐานสิบหก 1 ไบต์ (00ถึงFFหรือ 0 ถึง 255)w:themeShade: ตัวคูณการผสมสีดำ (Shading) เพื่อทำให้สีมืดลง ใช้ช่วงค่าเลขฐานสิบหก 1 ไบต์ (00ถึงFFหรือ 0 ถึง 255)
อัลกอริทึมการคำนวณค่าสีจริง (Linear Interpolation)
สูตรการคำนวณ Tint (ผสมสีขาว):RGB_new = RGB_base + (255 - RGB_base) × (Tint / 255)
ค่า Tint จะเพิ่มความสว่างโดยดึงทุกแชนเนลเข้าหาค่า 255 มักนำไปใช้ทำพื้นหลังแถวสลับ (Banded Rows เช่น Tint 20% หรือค่า Hex ประมาณ 33) และสีเส้นกรอบด้านใน
สูตรการคำนวณ Shade (ผสมสีดำ):RGB_new = RGB_base × (Shade / 255)
ค่า Shade จะลดความสว่างโดยดึงทุกแชนเนลลงเข้าหาค่า 0 มักใช้ในตารางกลุ่ม Dark สไตล์ หรือเส้นขอบของแถวสรุปผล (Total Row)
JavaScript
<!-- ตัวอย่าง XML การแรเงาแถวสลับด้วย Tint 20% บน Accent 1 -->
<w:tblStylePr w:type="band1H">
<w:tcPr>
<w:shd w:val="clear" w:color="auto" w:fill="D9E1F2" w:themeColor="accent1" w:themeTint="33"/>
</w:tcPr>
</w:tblStylePr>