حقول أتمتة المستند (IF, COMPARE, MACROBUTTON، وأكثر)

حقول أتمتة المستند (IF, COMPARE, MACROBUTTON، وأكثر)

حقول أتمتة المستندات (IF, COMPARE، وأكثر)

يُظهر هذا الدليل كيفية العمل مع عائلة حقول أتمتة المستند في Word Aspose.Words FOSS لـ .NET — الحقول التي تُدير النص الشرطي، وتخزن المتغيّرات على مستوى المستند، وتربط الماكروهات، والتنقل، وسلوك الطباعة، بدلاً من مجرد عرض قيمة محسوبة. كل منها هو Field فئة فرعية في الـ Aspose.Words.Fields نطاق الاسم: FieldIf, FieldCompare, FieldDocVariable, FieldGoToButton, FieldMacroButton، و FieldPrint. جميعها ترث الأساس 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 ملخص

فئة / تعدادوصف
FieldIfIF حقل; LeftExpression, ComparisonOperator, RightExpression, TrueText, FalseText, EvaluateCondition()
FieldIfComparisonResultنتيجة Enum لـ FieldIf.EvaluateCondition(): True, False, Error
FieldCompareCOMPARE حقل; LeftExpression, ComparisonOperator, RightExpression
FieldDocVariableDOCVARIABLE حقل; VariableName
FieldGoToButtonGOTOBUTTON حقل; Location, DisplayText
FieldMacroButtonMACROBUTTON حقل; MacroName, DisplayText
FieldPrintPRINT حقل; PrinterInstructions, PostScriptGroup

انظر أيضاً

 العربية