حقول النماذج القديمة

حقول النماذج القديمة

حقول النماذج القديمة

Aspose.Words FOSS لـ .NET يقرأ ويتعامل مع حقول النماذج القديمة في Word (قبل التحكم بالمحتوى) — حقول إدخال النص، ومربعات الاختيار، والقوائم المنسدلة — عبر الفئة FormField وثلاث فئات فرعية متخصصة للحقول في Aspose.Words.Fields.


قراءة قيم حقول النموذج

Document.Range.FormFields (وهو FormFieldCollection) يوفر وصولًا مباشرًا إلى كل حقل نموذج قديم ضمن نطاق دون الحاجة لتجوال شجرة العقد يدويًا. كل FormField يكشف عن Name (معرف بنمط العلامة المرجعية المستخدم للإشارة إلى الحقل)، Type (قيمة FieldType تحدد نوع حقل النموذج)، Result (القيمة الحالية)، Enabled، ونص المساعدة/الحالة عبر HelpText/OwnHelp وStatusText/OwnStatus. SetTextInputValue(newValue) يضبط قيمة جديدة لحقل إدخال النص مباشرة. يمكن الفهرسة في FormFieldCollection باسم العلامة المرجعية (مثال: formFields["BookmarkName"]) لاسترجاع حقل محدد، وRemove(formField) / RemoveAt(index) حذف الحقول من المجموعة.


أنواع حقول النص ومربعات الاختيار والقوائم المنسدلة

كل من الأنواع الثلاثة لحقول النموذج القديمة لها فئة مخصصة: FieldFormText (حقل FORMTEXT، المقابل لـ FieldType.FieldFormTextInput) لإدخال النص الحر، FieldFormCheckBox (حقل FORMCHECKBOX) لتبديل منطقي، وFieldFormDropDown (حقل FORMDROPDOWN) لقائمة الاختيارات. على العقدة الأساسية FormField، يتحكم TextInputType (قيمة TextFormFieldType — Regular، Number، Date، CurrentDate، CurrentTime أو Calculated) وTextInputFormat في كيفية تفسير وتنسيق قيمة حقل النص؛ MaxLength يحد من طول الإدخال؛ TextInputDefault يزودها بالقيمة الافتراضية. Checked وDefault تنطبق على حقول مربعات الاختيار، مع IsCheckBoxExactSize/CheckBoxSize يتحكمان في حجم العرض. تحمل حقول القوائم المنسدلة قائمة الخيارات في DropDownItems، وهو DropDownItemCollection يدعم Add، Insert، Remove، Contains، وIndexOf، بالإضافة إلى DropDownSelectedIndex للعنصر المختار حاليًا.


نصائح وأفضل الممارسات

  • استخدم Document.Range.FormFields بدلاً من تصفية Document.Range.Fields يدويًا حسب النوع — فهو نقطة الدخول المباشرة والذات نوع للحقول النمذجية القديمة.
  • عيّن CalculateOnExit عندما يجب أن تُسبب قيمة حقل النموذج إعادة حساب الحقول التابعة فور مغادرة المستخدم له.
  • FormField.EntryMacro / ExitMacro تشير إلى أسماء ماكرو VBA المُكوَّنة في المستند الأصلي — قراءتها لا تنفّذ أي كود ماكرو.
  • تحقّق من TextInputType قبل تحليل Result لحقل نصي كرقم أو تاريخ — حقول Regular لا تفرض أي قيد تنسيق.

مشكلات شائعة

المشكلةالسببالإصلاح
فهرسة FormFieldCollection باسم العلامة المرجعية تُعيد nullاسم العلامة المرجعية لحقل النموذج لا يتطابق، أو أن الحقل غير موجود في النطاق الذي تم البحث فيهتأكد من اسم العلامة المرجعية الدقيق عبر FormField.Name أثناء العد
حالة خانة الاختيار لا تنعكس بعد ضبط Checkedالمستند لم يتم حفظه بعد التعديلاحفظ المستند بعد التعديل؛ Checked يُقرأ عند الوصول التالي
القائمة المنسدلة DropDownSelectedIndex خارج النطاقالفهرس لا يتطابق مع عنصر في DropDownItemsتحقق من صحة الفهرس مقابل DropDownItems.Count قبل التعيين
قيمة حقل النص لم تُطبّقتم استخدام تعيين خاصية مباشرة بدلاً من SetTextInputValueاستدعِ SetTextInputValue(newValue) على FormField

FAQ

ما الفرق بين FormField و FieldFormText/FieldFormCheckBox/FieldFormDropDown؟

FormField هو العقدة العامة التي تمثّل أي حقل نموذج قديم، يتم الوصول إليها عبر Document.Range.FormFields. FieldFormText و FieldFormCheckBox و FieldFormDropDown هي الفئات الخاصة بكل حقل (تُشتق من Field) لكل نوع حقل عند العمل عبر مجموعة Field العامة بدلاً من ذلك.

كيف أحصل على جميع قيم حقول النموذج في المستند؟

عدّ Document.Range.FormFields واقرأ Name/Result على كل FormField.

هل يمكنني إضافة خيارات إلى حقل نموذج منسدلة؟

نعم — FormField.DropDownItems هو DropDownItemCollection يحتوي على Add(value)، Insert(index, value)، وRemove(name).

هل هذه هي نفسها عناصر التحكم في المحتوى الحديثة؟

لا. حقول النموذج القديمة (FORMTEXT، FORMCHECKBOX، FORMDROPDOWN) تسبق نموذج العلامة المهيكلة للمستند في Word (عنصر التحكم في المحتوى)؛ يمكن أن تظهر كلاهما في نفس المستند.


ملخص API Reference

فئة / طريقةوصف
Document.Range.FormFieldsالوصول المباشر إلى جميع حقول النموذج القديمة في نطاق
FormFieldعقدة حقل نموذج قديم عامة: الاسم، النوع، النتيجة، حالة التمكين
FormFieldCollectionمجموعة من كائنات FormField؛ مفهرسة باسم الإشارة المرجعية، Remove()
FieldFormTextFORMTEXT فئة الحقل
FieldFormCheckBoxFORMCHECKBOX فئة الحقل
FieldFormDropDownFORMDROPDOWN فئة الحقل
TextFormFieldTypeتعداد لتنسيق إدخال حقل النص (Regular, Number, Date, إلخ.)
DropDownItemCollectionقائمة قابلة للتحرير لخيارات حقل القائمة المنسدلة

انظر أيضاً

 العربية