---
title: "แทนที่ช่อง Python"
---


มักจำเป็นต้องแทนที่ฟิลด์เมื่อคุณต้องการบันทึกเอกสารของคุณเป็นสำเนาคงที่ เช่น เมื่อส่งเป็นไฟล์แนบในอีเมล การแปลงช่องต่างๆ เช่น `DATE` หรือ `TIME` เป็นข้อความคงที่จะทำให้เอกสารแสดงวันที่เดียวกันกับวันที่ส่งได้ นอกจากนี้ ในบางสถานการณ์ คุณอาจต้องลบเขตข้อมูล `IF` แบบมีเงื่อนไขออกจากเอกสารของคุณ และแทนที่ด้วยผลลัพธ์ข้อความล่าสุดแทน ตัวอย่างเช่น การแปลงผลลัพธ์ของช่อง `IF` เป็นข้อความคงที่ ดังนั้นจะไม่เปลี่ยนค่าแบบไดนามิกอีกต่อไปเมื่อมีการอัปเดตช่องในเอกสาร

แผนภาพด้านล่างแสดงวิธีจัดเก็บช่อง `IF` ในเอกสาร

* ข้อความล้อมรอบด้วยโหนดฟิลด์พิเศษ – [FieldStart](https://reference.aspose.com/words/python-net/aspose.words.fields/fieldstart/) และ [FieldEnd](https://reference.aspose.com/words/python-net/aspose.words.fields/fieldend/)
* โหนด [FieldSeparator](https://reference.aspose.com/words/python-net/aspose.words.fields/fieldseparator/) แยกข้อความภายในฟิลด์ออกเป็นโค้ดฟิลด์และผลลัพธ์ของฟิลด์
* รหัสฟิลด์จะกำหนดลักษณะการทำงานทั่วไปของฟิลด์ ในขณะที่ผลลัพธ์ของฟิลด์จะคงผลลัพธ์ล่าสุดไว้เมื่อมีการอัปเดตฟิลด์นี้โดยใช้ Microsoft Word หรือ Aspose.Words
* ผลลัพธ์ของฟิลด์คือสิ่งที่เก็บไว้ในฟิลด์และแสดงในเอกสารเมื่อดู

![update-remove-a-field-aspose-words](/words/python-net/replace-fields/updating-and-removing-a-field-1.png)

โครงสร้างยังแสดงด้านล่างในรูปแบบลำดับชั้นโดยใช้ [โครงการสาธิต *"DocumentExplorer"*](https://github.com/aspose-words/Aspose.Words-for-.NET)*.*

![update-remove-a-field-aspose-words-2](/words/python-net/replace-fields/updating-and-removing-a-field-2.png)

## ช่องที่ไม่สามารถแทนที่ด้วยข้อความได้

การแทนที่ฟิลด์ด้วยข้อความคงที่จะไม่ทำงานอย่างถูกต้องสำหรับบางฟิลด์ในส่วนหัวหรือส่วนท้าย

ตัวอย่างเช่น การพยายามแปลงช่อง `PAGE` ในส่วนหัวหรือส่วนท้ายเป็นข้อความคงที่จะทำให้ค่าเดียวกันนี้ปรากฏบนทุกหน้า เนื่องจากส่วนหัวและส่วนท้ายซ้ำกันในหลายหน้า และเมื่อยังคงเป็นฟิลด์ จึงมีการจัดการโดยเฉพาะเพื่อให้แสดงผลลัพธ์ที่ถูกต้องสำหรับแต่ละหน้า

อย่างไรก็ตาม ในส่วนหัว ช่อง `PAGE` จะแปลเป็นการเรียกใช้ข้อความแบบคงที่ได้ดี การเรียกใช้ข้อความนี้จะได้รับการประเมินเหมือนกับว่าเป็นหน้าสุดท้ายในส่วนนี้ ซึ่งจะทำให้ช่อง `PAGE` ในส่วนหัวแสดงหน้าสุดท้ายในทุกหน้า

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการแทนที่ฟิลด์ด้วยผลลัพธ์ล่าสุด:

ตัวอย่าง

## แปลงประเภทฟิลด์บางประเภทในส่วนของเอกสารเฉพาะ

เนื่องจากวิธี **ConvertFieldsToStaticText** ยอมรับพารามิเตอร์สองตัว ได้แก่ คุณสมบัติ [CompositeNode](https://reference.aspose.com/words/python-net/aspose.words/compositenode/) และการแจงนับ [FieldType](https://reference.aspose.com/words/python-net/aspose.words.fields/fieldtype/) คุณจึงสามารถส่งผ่านโหนดคอมโพสิตไปยังวิธีนี้ได้ ซึ่งช่วยให้สามารถแปลงฟิลด์เป็นข้อความคงที่เฉพาะในส่วนของเอกสารเท่านั้น

ตัวอย่างเช่น คุณสามารถส่งวัตถุ [Document](https://reference.aspose.com/words/python-net/aspose.words/document/) และแปลงช่องประเภทที่ระบุจากทั้งเอกสารเป็นข้อความคงที่ หรือคุณสามารถส่งวัตถุ [Body](https://reference.aspose.com/words/python-net/aspose.words/body/) ของส่วนและแปลงเฉพาะช่องที่พบในเนื้อหานั้นได้

{{% alert color="primary" %}}

เมื่อส่งผ่านโหนดระดับบล็อก เช่น [Paragraph](https://reference.aspose.com/words/python-net/aspose.words/paragraph/) โปรดทราบว่าในบางกรณี ช่องต่างๆ อาจขยายข้ามหลายย่อหน้าได้ หากเกิดเหตุการณ์เช่นนี้ ขอแนะนำให้ส่งพาเรนต์ของคอมโพสิตแทนเพื่อหลีกเลี่ยงปัญหานี้

{{% /alert %}}

การแจงนับ [FieldType](https://reference.aspose.com/words/python-net/aspose.words.fields/fieldtype/) ที่ส่งผ่านไปยังวิธี **ConvertFieldsToStaticText** ระบุประเภทของฟิลด์ที่ควรแปลงเป็นข้อความคงที่ ประเภทฟิลด์อื่นๆ ที่พบในเอกสารจะยังคงไม่เปลี่ยนแปลง

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการเลือกฟิลด์ประเภทเฉพาะ – *targetFieldType* ในโหนดเฉพาะ – *compositeNode* แล้วแปลงเป็นข้อความคงที่:

{{< gist "aspose-words-gists" "eacc4fc7407a98d683f3084bb86d58f7" "Examples-CSharp-Programming-Documents-Fields-FieldsHelper-FieldsHelper.cs" >}}

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการแปลงฟิลด์ `IF` ทั้งหมดในเอกสารเป็นข้อความคงที่:

{{< gist "aspose-words-gists" "e9d8f984dac599756ccb4a64b8c79768" "Examples-DocsExamples-DocsExamples-Programming with Documents-working_with_fields-ConvertFieldsInDocument.py" >}}

{{% alert color="primary" %}}

คุณสามารถดาวน์โหลดไฟล์ตัวอย่างของตัวอย่างนี้ได้จาก [Aspose.Words GitHub](https://github.com/aspose-words/Aspose.Words-for-Python-via-.NET/blob/master/Examples/Data/Linked%20fields.docx)

{{% /alert %}}

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการแปลงฟิลด์ `PAGE` ทั้งหมดในเนื้อความของเอกสารเป็นข้อความคงที่:

{{< gist "aspose-words-gists" "e9d8f984dac599756ccb4a64b8c79768" "Examples-DocsExamples-DocsExamples-Programming with Documents-working_with_fields-ConvertFieldsInBody.py" >}}

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการแปลงฟิลด์ `IF` ทั้งหมดในย่อหน้าสุดท้ายเป็นข้อความคงที่:

{{< gist "aspose-words-gists" "e9d8f984dac599756ccb4a64b8c79768" "Examples-DocsExamples-DocsExamples-Programming with Documents-working_with_fields-ConvertFieldsInParagraph.py" >}}
