نظرة عامة حول العناصر المضيفة و عناصر تحكم المضيف

ينطبق على

تنطبق المعلومات الموجودة في هذا الموضوع فقط على أنواع المشاريع وإصدارات Microsoft Office التالية: لمزيد من المعلومات، راجع الميزات المتوفرة بواسطة تطبيقات Office و نوع المشروع.

نوع المشروع

  • مشروعات على مستوى المستند

  • مشروعات على مستوى التطبيق

إصدار Microsoft Office

  • Excel 2007 و Excel 2010

  • Word 2007 و Word 2010

عناصر المضيف و عناصر تحكم المضيف هي أنواع للمساعدة في توفير نموذج برمجة لحلول Office التي تم إنشاؤها باستخدام أدوات تطوير Office في Visual Studio. عناصر المضيف و عناصر تحكم المضيف تجعل التفاعل مع نماذج كائن Microsoft Office Word أو Microsoft Office Excel التي تستند إلى COM ، مثل التفاعل مع الكائنات المدارة مثل عناصر تحكم Windows Forms .

عناصر المضيف

عناصر المضيف هي أنواع موجودة في أعلى التسلسلات الهرمية الخاصة بنموذج الكائن في مشاريع Office. Visual Studio Tools لوقت تشغيل Office تعرّف عناصر المضيف التالية لحلول Word و Excel:

تقوم كل من هذه الأنواع بتوسيع كائن موجود أصلاً في نموذج كائن Word أو Excel (يسمى كائن Office الأصلي ). على سبيل المثال، العنصر المضيف Microsoft.Office.Tools.Word.Document يقوم بتوسيع كائن Microsoft.Office.Interop.Word.Document الذي تم تعريفه في تجميع التوافق الأساسى لـ Word.

عناصر المضيف لها نفس الوظائف الأساسية بشكل عام ككائنات Office المطابقة لكن يتم تحسينها بالميزات التالية:

  • القدرة على استضافة عناصر التحكم المدارة بما في ذلك عناصر تحكم المضيف و عناصر تحكم Windows Forms.

  • نماذج أحداث أغنى. يتم تشغيل بعض أحداث المستندات و المصنفات وورقات العمل في نماذج كائن Word و Excel الأصلي على مستوى التطبيق فقط . توفر عناصر المضيف هذه الأحداث على مستوى المستند ، بحيث يكون من السهل معالجة الأحداث لمستند معين.

فهم عناصر المضيف في المشاريع على مستوى المستند

في المشاريع على مستوى المستند ، تقوم عناصر المضيف بتوفير نقطة إدخال للتعليمات البرمجية الخاصة بك, ولها مصممون يساعدونك في تطوير الحل الخاص بك.

عناصر المضيف Microsoft.Office.Tools.Word.Document و Microsoft.Office.Tools.Excel.Worksheet تحتوي على المصممين المقترنين و اللذين هم تمثيل مرئي للمستند أو ورقة العمل، مثل مصمم Windows Forms. يمكنك استخدام هذا المصمم لتعديل محتوى مستند أو ورقة العمل مباشرة في Word أو Excel و لسحب عناصر التحكم إلى سطح التصميم. للمزيد من المعلومات، راجع العنصر المضيف الخاص بالمستند وعنصر مضيف خاص بورقة عمل.

العنصر المضيف Microsoft.Office.Tools.Excel.Workbook لا يتصرف كحاوية لعناصر التحكم التي تحتوي على واجهة المستخدم . بدلاً من ذلك، يعمل المصمم لهذا العنصر المضيف كعلبة مكون مما يمكّنك من سحب مكون مثل DataSet ، إلى سطح التصميم الخاص بها . لمزيد من المعلومات، راجع عنصر مضيف المصنف.

يتعذر إنشاء عناصر المضيف بشكل برمجي في المشاريع على مستوى المستند. بدلاً من ذلك، استخدم فئات ThisDocument ، ThisWorkbook, أو فئات Sheet n و التي يقوم Visual Studio بإنشائها بشكل تلقائي في المشروع الخاص بك في وقت التصميم. هذه الفئات التي تم إنشاؤها يتم اشتقاقها من عناصر المضيف كما أنها توفر نقطة إدخال التعليمات البرمجية الخاصة بك. لمزيد من المعلومات، راجع القيود البرمجية للعناصر مضيفة وعناصر التحكم.

فهم عناصر المضيف في المشاريع من مستوى التطبيق

عند إنشاء الوظيفة الإضافية على مستوى التطبيق ، ليس لديك حق الوصول إلى أي من عناصر المضيف بشكل افتراضي. ومع ذلك، يمكنك إنشاء عناصر المضيف Microsoft.Office.Tools.Word.Document ، Microsoft.Office.Tools.Excel.Workbook ، و Microsoft.Office.Tools.Excel.Worksheet في الوظائف الإضافية الخاصة ب Word و Excel في وقت التشغيل.

بعد إنشاء عنصر مضيف يمكنك تنفيذ مهام مثل إضافة عناصر للمستندات "و" إنشاء العلامات الذكية التي يتم التعرف عليها في مستند معين. لمزيد من المعلومات، راجع توسيع مستندات Word ومصنفات Excel في وظائف إضافية على مستوى التطبيق في وقت التشغيل.

عناصر تحكم المضيف

عناصر تحكم المضيف تقوم بتوسيع كائنات واجهة مستخدم (UI) المختلفة في نماذج كائن Word و Excel مثل كائنات Microsoft.Office.Interop.Word.ContentControl و Microsoft.Office.Interop.Excel.Range .

تكون عناصر تحكم المضيف التالية متوفرة لمشاريع Excel:

عناصر تحكم المضيف التالية متوفرة لمشاريع Word:

عناصر تحكم المضيف التى تمت إضافتها إلى مستندات Office تسلك مسلك كائنات Office الأصلية; و مع ذلك ، يكون لعناصر تحكم المضيف وظائف إضافية, بما في ذلك الأحداث و إمكانيات ربط البيانات. على سبيل المثال، عندما تريد التقاط الأحداث من كائن Microsoft.Office.Interop.Excel.Range الأصلي في Excel، يجب أولاً معالجة حدث التغيير في ورقة العمل. ثم يجب عليك تحديد ما إذا كان التغيير حدث داخل Microsoft.Office.Interop.Excel.Range. و على النقيض، فإن عناصر تحكم المضيف Microsoft.Office.Tools.Excel.NamedRange تحتوي على الحدث Change الذي يمكنك معالجته مباشرة.

العلاقة بين عنصر مضيف وعناصر تحكم المضيف تشبه جداً العلاقة بين عناصر تحكم نموذج Windows و Windows Forms. فبالضبط كما تضع عنصر التحكم مربع نص في Windows Form، قم بوضع عنصر تحكم Microsoft.Office.Tools.Excel.NamedRange على العنصر المضيف Microsoft.Office.Tools.Excel.Worksheet . يبين الرسم التوضيحي التالي العلاقة بين عناصر المضيف و عناصر تحكم المضيف.

العلاقة بين عناصر المضيف وعناصر تحكم المضيف

يمكنك أيضاً استخدام عناصر تحكم Windows Forms في حلول Office الخاصة بك بإضافتها مباشرة إلى سطح مستند Word و Excel. لمزيد من المعلومات، راجع نظرة عامة على عناصر تحكم Windows Forms فى مستندات Office.

ملاحظة

إضافة عناصر تحكم المضيف أو عناصر تحكم Windows Forms إلى مستند ثانوي Word غير مدعوم.

إضافة عناصر تحكم المضيف إلى المستندات الخاصة بك

يمكنك في المشاريع على مستوى المستند ، أن تضيف عناصر تحكم المضيف إلى مستندات Word أو أوراق عمل Excel في وقت التصميم بالطرق التالية:

  • قم بإضافة عناصر تحكم المضيف إلى المستند الخاص بك في وقت التصميم بنفس الطريقة التي ستضيف بها كائنا أصليا.

  • اسحب عناصر تحكم المضيف من صندوق الأدوات Toolbox إلى المستندات وأوراق العمل الخاصة بك. تكون عناصر تحكم المضيف في Excel متوفرة في علامة التبويب عناصر تحكم Excel في مشاريع Excel و عناصر تحكم المضيف الخاصة بـ Word تكون متوفرة في علامة التبويب Word Controls في مشاريع Word .

  • اسحب عناصر تحكم المضيف من النافذة مصادر البيانات إلى المستندات وأوراق العمل الخاصة بك. يمكّنك هذا من إضافة عناصر التحكم المرتبطة بالفعل بالبيانات. لمزيد من المعلومات، راجع ربط بيانات إلى عناصر تحكم في حلول Office.

في المشاريع من مستوى المستند و مستوى التطبيق ، يمكنك أيضاً إضافة بعض عناصر تحكم المضيف إلى المستندات في وقت التصميم. لمزيد من المعلومات، راجع إضافة عناصر تحكم إلى مستندات Office في وقت التشغيل.

للحصول على مزيد من المعلومات حول كيفية إضافة عناصر تحكم المضيف إلى المستندات, راجع المواضيع التالية:

تسمية عناصر تحكم المضيف

عند سحب عنصر تحكم مضيف من Toolbox إلى المستند الخاص بك ، تتم تسمية عنصر التحكم تلقائياً باستخدام نوع عنصر التحكم مع رقم تزايدي في النهاية. على سبيل المثال، الإشارات المرجعية تسمى bookmark1 ، bookmark2 ، وهكذا. إذا استخدمت الوظيفة الأصلية لـ Word أو Excel لإضافة عنصر التحكم، يمكنك إعطاؤها اسما خاصا وقت إنشائها. يمكنك أيضاً إعادة تسمية عناصر التحكم الخاصة بك عن طريق تغيير قيمة الخاصية اسم في النافذة خصائص .

ملاحظة

لا يمكنك استخدام الكلمات المحجوزة لتسمية عناصر تحكم المضيف. على سبيل المثال، إذا قمت بإضافة عنصر تحكم NamedRange إلى ورقة عمل ثم قمت بتغيير الاسم إلى System ، سيحدث خطأ عند بناء المشروع.

حذف عناصر تحكم المضيف

في المشاريع معلى مستوى المستند ، يمكنك حذف عناصر تحكم المضيف في وقت التصميم عن طريق تحديد عنصر التحكم على ورقة عمل Excel أو مستند Word ثم الضغط على المفتاح DELETE. ومع ذلك، يجب استخدام مربع الحوار تعريف الاسم في Excel لحذف عناصر تحكم NamedRange . لمزيد من المعلومات، راجع How to: Delete NamedRange Controls at Design Time.

إذا قمت بإضافة عنصر تحكم مضيف إلى مستند في وقت التصميم يجب عليك عدم إزالته بشكل برمجي في وقت التشغيل لأن في المرة التالية عند محاولة استخدام عنصر التحكم في التعليمات البرمجية، سيتم إلقاء استثناء. إن أسلوب Delete لعنصر التحكم المضيف يقوم فقط بإزالة عناصر تحكم المضيف التي تمت إضافتها إلى المستند في وقت التشغيل. إذا قمت باستدعاء الأسلوب Delete الخاص بعنصر تحكم مضيف تم إنشاؤه في وقت التصميم ، سيتم إلقاء استثناء.

على سبيل المثال، إن أسلوب Delete الخاص ب NamedRange يحذف بنجاح NamedRange فقط إذا تمت إضافته برمجياً إلى ورقة العمل التي تُعرف بإنشاء عناصر تحكم المضيف بشكل حيوي. يمكن أيضاً إزالة عناصر تحكم المضيف التي تم انشاؤها بشكل حيوي بواسطة تمرير اسم عنصر التحكم إلى الأسلوب Removeفى Worksheet.Controls أو الخاصية Document.Controls . لمزيد من المعلومات، راجع إضافة عناصر تحكم إلى مستندات Office في وقت التشغيل.

إذا كان المستخدمون النهائيون يقومون بحذف عنصر التحكم المضيف من المستند في وقت التشغيل ، قد يفشل الحل بطرق غير متوقعة. يمكنك استخدام ميزات الحماية للمستند في Word و Excel لحماية عناصر تحكم المضيف من الحذف. لمزيد من المعلومات، راجع نماذج تطوير Office وإرشادات تفصيلية.

ملاحظة

لا تقوم بإزالة عناصر التحكم برمجياً أثناء معالج الحدث Shutdown من مستند أو ورقة العمل. عناصر واجهة المستخدم لم تعد متوفرة عند حدوث حدث Shutdown . إذا كنت ترغب في إزالة عناصر التحكم قبل إغلاق التطبيق ، قم بإضافة التعليمات البرمجية الخاصة بك إلى معالج أحداث آخر مثل BeforeClose أو BeforeSave.

برمجة مقابل أحداث عناصر تحكم المضيف

أحد الطرق التى تقوم عناصر تحكم المضيف بتوسيع كائنات Office من خلالها هي إضافة أحداث. على سبيل المثال، الكائن Microsoft.Office.Interop.Excel.Range في Excel و الكائن Microsoft.Office.Interop.Word.Bookmark في Word لا يمتلكون أحداثاً، ولكن Visual Studio Tools لوقت تشغيل Office يقوم بتوسيع هذه الكائنات عن طريق إضافة أحداث قابلة للبرمجة. يمكنك الوصول و إعطاء الأوامر مقابل هذه الأحداث بنفس طريقة الوصول إلى أحداث عناصر التحكم في Windows Forms: خلال القائمة المنسدلة "حدث" في Visual Basic و الصفحة "خاصية الحدث" في C#. لمزيد من المعلومات، راجع الإرشادات التفصيلية: برمجة مقابل أحداث عنصر تحكم NamedRange.

ملاحظة

لا يجب عليك تعيين خاصية EnableEvents بكائن Application في Excel إلى false. إعداد هذه الخاصية إلى false تمنع Excel من رفع أية أحداث بما في ذلك أحداث عناصر تحكم المضيف.

راجع أيضًا:

المبادئ

القيود البرمجية للعناصر مضيفة وعناصر التحكم

أتمتة Word عن طريق استخدام الكائنات الموسعة

أتمتة Excel عن طريق استخدام الكائنات الموسعة

موارد أخرى

برمجة وظائف إضافية على مستوى التطبيق

برمجة تخصيصات علي مستوي مستند

عناصر التحكم في مستندات Office

ربط بيانات إلى عناصر تحكم في حلول Office