ฟิลด์อัตโนมัติของเอกสาร (IF, COMPARE, MACROBUTTON, และอื่น ๆ)

ฟิลด์อัตโนมัติของเอกสาร (IF, COMPARE, MACROBUTTON, และอื่น ๆ)

ฟิลด์อัตโนมัติของเอกสาร (IF, COMPARE, และอื่น ๆ)

คู่มือนี้แสดงวิธีทำงานกับกลุ่มฟิลด์การอัตโนมัติของเอกสารใน Word Aspose.Words FOSS สำหรับ .NET – ฟิลด์ที่ขับเคลื่อนข้อความตามเงื่อนไข, เก็บตัวแปรระดับเอกสาร, และเชื่อมต่อแมโคร, การนำทาง, และพฤติกรรมการพิมพ์, แทนที่จะเพียงแสดงค่าที่คำนวณได้. แต่ละฟิลด์เป็น Field คลาสย่อยใน Aspose.Words.Fields เนมสเปซ: FieldIf, FieldCompare, FieldDocVariable, FieldGoToButton, FieldMacroButton, และ FieldPrint. ทั้งหมดนี้สืบทอด core Field สมาชิกที่อธิบายไว้ใน การทำงานกับฟิลด์ – GetFieldCode(), Update(), Remove(), Unlink(), Start/Separator/End, Result, และ Format – หน้านี้ครอบคลุมสิ่งที่เป็นเฉพาะสำหรับแต่ละรายการ.


ข้อความตามเงื่อนไขด้วย FieldIf

FieldIf ทำงานตาม IF ฟิลด์. LeftExpression, ComparisonOperator, และ RightExpression อธิบายเงื่อนไข – รูปแบบสามส่วนเดียวกันที่ใช้โดย IComparisonExpressionEvaluator (ดู การทำงานกับฟิลด์) – และ TrueText / FalseText ถือผลลัพธ์สองแบบที่เป็นไปได้. เรียก EvaluateCondition() เพื่อตรวจสอบเงื่อนไขโดยตรง; มันคืนค่า FieldIfComparisonResult ค่า: True, False, หรือ Error.


การเปรียบเทียบค่าโดยใช้ FieldCompare

FieldCompare ใช้ฟิลด์ COMPARE. เช่นเดียวกับ FieldIf, มันเปิดเผย LeftExpression, ComparisonOperator, และ RightExpression เพื่ออธิบายการเปรียบเทียบ, แต่ให้ผลลัพธ์แบบบูลีนแทนการสลับระหว่างข้อความสองตัวเลือก.


ตัวแปรเอกสารด้วย FieldDocVariable

FieldDocVariable ทำหน้าที่เป็นฟิลด์ DOCVARIABLE, โดยอ่านตัวแปรที่กำหนดชื่อในระดับเอกสารผ่านคุณสมบัติ VariableName ของมัน.


ปุ่ม: FieldGoToButton และ FieldMacroButton

FieldGoToButton ทำหน้าที่เป็นฟิลด์ GOTOBUTTON: Location ระบุชื่อบุ๊กมาร์ก, หน้า, หรือปลายทางอื่นที่ต้องการกระโดดไป, และ DisplayText คือป้ายชื่อที่แสดงในเอกสาร. FieldMacroButton ทำหน้าที่เป็นฟิลด์ MACROBUTTON: MacroName ระบุชื่อมาโครที่ต้องเรียกใช้และ DisplayText คือป้ายชื่อ. ทั้ง FieldIf และ FieldMacroButton ยังทำหน้าที่ตาม IMergeFieldSurrogate, อินเทอร์เฟซที่ฟิลด์ที่รองรับเมลเมิร์จของ Word ใช้เพื่อทำเครื่องหมายว่าตนเป็นเนื้อหาที่สามารถแทนที่ได้.


คำแนะนำการพิมพ์ด้วย FieldPrint

FieldPrint ทำหน้าที่เป็นฟิลด์ PRINT: PrinterInstructions และ PostScriptGroup เก็บคำสั่งเฉพาะเครื่องพิมพ์ที่ฝังอยู่โดยตรงในเอกสาร.


เคล็ดลับและแนวปฏิบัติที่ดีที่สุด

  • ใช้ FieldIf.EvaluateCondition() เพื่ออ่านผลลัพธ์ของเงื่อนไข (FieldIfComparisonResult) โดยไม่ต้องพาร์ส TrueText/FalseText ด้วยตนเอง.
  • FieldCompare และ FieldIf มีรูปแบบ LeftExpression/ComparisonOperator/ RightExpression เหมือนกัน – โค้ดที่สร้างหรือตรวจสอบนิพจน์การเปรียบเทียบหนึ่งสามารถนำกลับมาใช้ใหม่ได้ในทั้งสองประเภทของฟิลด์.
  • จำไว้ว่าเหล่านี้ทั้งหมด Field คลาสย่อย: GetFieldCode(), Update(), Remove(), และ Unlink() from การทำงานกับฟิลด์ ใช้ในลักษณะเดียวกันที่นี่.

ปัญหาทั่วไป

ปัญหาสาเหตุแก้ไข
FieldIf.EvaluateCondition() ส่งคืน Errorตัวดำเนินการหรือโอเปอเรเตอร์ของเงื่อนไขไม่สามารถประเมินได้ตามที่เขียนตรวจสอบ LeftExpression, ComparisonOperator และ RightExpression เพื่อหาค่าที่ถูกต้อง
ผลลัพธ์ของ FieldDocVariable ไม่สอดคล้องกับค่าตัวแปรที่คาดหวังVariableName ไม่ตรงกับชื่อของตัวแปรที่มีอยู่จริงในเอกสารยืนยันชื่อของตัวแปรที่แม่นยำและว่ามันมีอยู่ก่อนที่จะอ่าน Result
ข้อความแสดงผลของ FieldGoToButton/FieldMacroButton ไม่ตรงกับที่ Word แสดงDisplayText ถูกอ่านก่อนที่ฟิลด์จะอัปเดต, หรือถูกตั้งค่าโดยไม่มีการเรียก Update() ที่ตรงกันเรียก Update() บนฟิลด์, หรืออ่าน DisplayText ใหม่หลังจากมีการเปลี่ยนแปลงใด ๆ กับมัน

FAQ

ฉันจะอ่านผลลัพธ์ของฟิลด์ IF แบบมีเงื่อนไขได้อย่างไร?

เรียก FieldIf.EvaluateCondition() เพื่อรับ FieldIfComparisonResult ดิบ หรืออ่าน TrueText / FalseText เพื่อดูทางเลือกข้อความสองแบบที่ฟิลด์สลับระหว่างกัน.

ความแตกต่างระหว่าง FieldIf กับ FieldCompare คืออะไร?

FieldIf (ฟิลด์ IF) สลับระหว่าง TrueText และ FalseText ตามเงื่อนไขของมัน. FieldCompare (ฟิลด์ COMPARE) มีรูปแบบการเปรียบเทียบเดียวกันแต่ให้ผลลัพธ์ในรูปแบบบูลีนแทนข้อความทางเลือก.

ฉันจะอ่านชื่อของตัวแปรเอกสารจากฟิลด์ DOCVARIABLE ได้อย่างไร?

อ่าน FieldDocVariable.VariableName.

ฉันจะหาปลายทางของฟิลด์ GOTOBUTTON ได้อย่างไร?

อ่าน FieldGoToButton.Location; DisplayText ให้ป้ายกำกับที่แสดงบนปุ่มในเอกสาร.


API Reference สรุป

คลาส / Enumคำอธิบาย
FieldIfIF field; LeftExpression, ComparisonOperator, RightExpression, TrueText, FalseText, EvaluateCondition()
FieldIfComparisonResultผลลัพธ์ Enum ของ FieldIf.EvaluateCondition(): True, False, Error
FieldCompareฟิลด์ COMPARE; LeftExpression, ComparisonOperator, RightExpression
FieldDocVariableฟิลด์ DOCVARIABLE; VariableName
FieldGoToButtonฟิลด์ GOTOBUTTON; Location, DisplayText
FieldMacroButtonMACROBUTTON ฟิลด์; MacroName, DisplayText
FieldPrintPRINT ฟิลด์; PrinterInstructions, PostScriptGroup

ดูเพิ่มเติม

 ภาษาไทย