مشاركة عبر


الإرشادات التفصيلية: إنشاء قالب باستخدام عناصر تحكم محتوى

ينطبق على

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

نوع المشروع

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

إصدار Microsoft Office

  • Word 2007

  • Word 2010

توضح هذه الإرشادات التفصيلية كيفية إنشاء تخصيص على مستوى المستند يستخدم عناصر تحكم محتوى لإنشاء محتوى منظم وقابل لإعادة الاستخدام في قالب Microsoft Office Word.

يمكنك Word من إنشاء مجموعة من أجزاء مستند قابل لإعادة الاستخدام، يسمى كتلة برمجية إنشائية. تُظهر هذه الإرشادات التفصيلية كيفية إنشاء جدولين ككتل برمجية إنشائية. يحتوي كل جدول على عدة عناصر تحكم محتوى تتسع لأنواع مختلفة من المحتوى، مثل النص العادي أو التواريخ. يحتوي أحد الجداول على معلومات حول موظف ما، و يحتوي الجدول الآخر على ردود أفعال العميل.

بعد إنشاء مستند من القالب يمكنك إضافة أي من الجداول إلى المستند باستخدام عدة كائنات BuildingBlockGalleryContentControl التي تعرض الكتل البرمجية الإنشائية المتوفرة في القالب.

توضح هذه الإرشادات التفصيلية المهام التالية:

  • إنشاء الجداول التي تحتوي على عناصر تحكم محتوى في قالب Word في وقت التصميم.

  • نشر عنصر تحكم محتوى مربع تحرير وسرد وعنصر تحكم محتوى قائمة منسدلة برمجيًا.

  • منع المستخدمين من تحرير جدول محدد.

  • إضافة جداول إلى مجموعة كتلة برمجية إنشائية من قالب.

  • إنشاء عنصر تحكم محتوى يعرض الكتل البرمجية الإنشائية المتوفرة في القالب.

ملاحظة

قد يعرض جهاز الكمبيوتر الخاص بك أسماء أو مواقع مختلفة لبعض عناصر واجهة مستخدم Visual Studio في الإرشادات التالية. يحدد كل من إصدار Visual Studio لديك والإعدادات المستخدمة هذه العناصر. لمزيد من المعلومات، راجع العمل مع إعدادات.

المتطلبات الأساسية

تحتاج إلى المكونات التالية لاستكمال هذه الإرشادات التفصيلية:

-

إصدار لـ Visual Studio 2010 يشمل أدوات مطوري Microsoft Office. لمزيد من المعلومات، راجع [تكوين كمبيوتر لتطوير حلول Office](bb398242\(v=vs.100\).md).
  • Microsoft Office Word 2007 أو Word 2010. :

إنشاء مشروع قالب Word جديد

يقوم بإنشاء قالب Word بحيث يمكن للمستخدمين إنشاء نسخ خاصة بهم بسهولة.

لإنشاء مشروع قالب Word جديد

  • عن حلول المكتب في الدليل برنامج ملفات، لا يتحقق من قائمة التضمين لأن حلول المكتب الفعل منحوا الأذونات FullTrust. في المعالج، قم بإنشاء مستند جديد في الحل. لمزيد من المعلومات، راجع كيفية القيام بما يلي: إنشاء مشاريع Office في Visual Studio.

    يفتح Visual Studio قالب Word الجديد في المصمم ويقوم بإضافة المشروعMyBuildingBlockTemplate إلى مستكشف الحلول.

إنشاء جدول الموظف

قم بانشاء جدول يحتوي على أربعة أنواع مختلفة من عناصر تحكم المحتوى حيث يمكن للمستخدم إدخال معلومات حول موظف ما.

لإنشاء جدول الموظف

  1. في قالب Word الذي تتم استضافته في المصمم Visual Studio، على الشريط، انقر فوق علامة التبويب إدراج.

  2. في المجموعة جداول انقر فوق جدول و قم بإدراج جدول مع 4 صفوف و عمودين .

  3. اكتب النص في العمود الأول بحيث أنه يتشابه مع ما يلي :

    اسم الموظف

    تاريخ التوظيف

    Title

    الصورة

  4. انقر فوق الخلية الأولى في العمود الثاني (بجانب اسم الموظف).

  5. انقر فوق علامة تبويب المطور على الشريط.

    ملاحظة

    في حالة عدم ظهور علامة التبويب المطور، يجب أولاً إظهاره. لمزيد من المعلومات، راجع كيفية القيام بما يلي: إظهار علامة تبويب المطور على الشريط.

  6. في مجموعة عناصر التحكم، انقر فوق زر النص PlainTextContentControl لإضافة PlainTextContentControl إلى الخلية الأولى.

  7. انقر فوق الخلية الثانية في العمود الثاني (بجانب تاريخ التوظيف).

  8. في المجموعة عناصر التحكم، انقر فوق زر منتقي التاريخ DatePickerContentControl لإضافة DatePickerContentControl إلى ثاني خلية.

  9. انقر فوق الخلية الثالثة في العمود الثاني (بجانب العنوان).

  10. في مجموعة عناصر التحكم، انقر فوق زر مربع التحرير والسرد ComboBoxContentControl لإضافة ComboBoxContentControl إلى الخلية الثالثة.

  11. انقر فوق الخلية الأخيرة في العمود الثاني (بجانب صورة).

  12. في مجموعة عناصر التحكم، انقر فوق الزر عنصر تحكم محتوى صورة PictureContentControl لإضافة PictureContentControl إلى الخلية الأخيرة.

إنشاء جدول رد فعل العميل

قم بإنشاء جدول يحتوي على ثلاثة أنواع مختلفة من عناصر تحكم المحتوى حيث يمكن للمستخدم إدخال معلومات رد فعل العميل.

لإنشاء جدول رد فعل العميل

  1. في قالب Word، انقر فوق السطر بعد جدول الموظف الذي قمت بإضافته سابقًا، ثم اضغط ENTER لإضافة فقرة جديدة.

  2. انقر فوق علامة تبويب المطور على الشريط.

  3. في المجموعة جداول انقر فوق جدول و قم بإدراج جدول مع 3 صفوف و عمودين .

  4. اكتب النص في العمود الأول بحيث أنه يتشابه مع ما يلي :

    اسم العميل

    تصنيف مستوى الرضا

    التعليقات

  5. انقر فوق الخلية الأولى من العمود الثاني (بجانب اسم العميل).

  6. انقر فوق علامة تبويب المطور على الشريط.

  7. في مجموعة عناصر التحكم، انقر فوق زر النص PlainTextContentControl لإضافة PlainTextContentControl إلى الخلية الأولى.

  8. انقر فوق الخلية الثانية من العمود الثاني (بجانب تصنيف مستوى الرضا).

  9. في مجموعة عناصر التحكم، انقر فوق زر القائمة المنسدلة DropDownListContentControl لإضافة DropDownListContentControl إلى الخلية الثانية.

  10. انقر فوق الخلية الأخيرة من العمود الثاني (بجانب تعليقات).

  11. في مجموعة عناصر التحكم، انقر فوق زر النص الغني PlainTextContentContr لإضافة RichTextContentControl إلى الخلية الأخيرة.

ملء مربع تحرير وسرد وقائمة منسدلة برمجيًا

يمكن تهيئة عناصر تحكم المحتوى في وقت التصميم باستخدام نافذة الخصائص في Visual Studio. يمكنك أيضًا تهيئتها في وقت التشغيل، الذي يمكنك من تعيين حالاتها الأولي بشكل حيوي. للحصول على هذه الإرشادات التفصيلية استخدم التعليمات البرمجية لملء الإدخالات في ComboBoxContentControl و DropDownListContentControl في وقت التشغيل بحيث يمكنك مشاهدة كيفية عمل هذه الكائنات.

لتعديل واجهة المستخدم لعناصر تحكم المحتوى برمجيًا

  1. في مستكشف الحلول ، انقر بزر الماوس الأيمن فوق .cs أو ThisDocument. ثم انقر فوق عرض التعليمات البرمجية.

  2. قم بإضافة التعليمات البرمجية التالية إلى فئة ThisDocument . هذه التعليمات البرمجية تقوم بالتصريح بعدة كائنات ستستخدمها لاحقًا في هذه الإرشادات التفصيلية.

    Private GroupControl1 As Microsoft.Office.Tools.Word.GroupContentControl
    Private BuildingBlockControl1 As Microsoft.Office.Tools.Word.BuildingBlockGalleryContentControl
    Private BuildingBlockControl2 As Microsoft.Office.Tools.Word.BuildingBlockGalleryContentControl
    
    private Microsoft.Office.Tools.Word.GroupContentControl groupControl1;
    private Microsoft.Office.Tools.Word.BuildingBlockGalleryContentControl buildingBlockControl1;
    private Microsoft.Office.Tools.Word.BuildingBlockGalleryContentControl buildingBlockControl2;
    
  3. قم بإضافة التعليمات البرمجية التالية إلى الأسلوب ThisDocument_Startup من الفئة ThisDocument. تعمل هذه التعليمة البرمجية على إضافة إدخالات إلى ComboBoxContentControl وDropDownListContentControl في الجداول، وتقوم بتعيين نص العنصر النائب الذي يتم عرضه في كل من عناصر التحكم هذه من قبل أن يقوم المستخدم بتحريرها.

    ComboBoxContentControl1.PlaceholderText = "Choose a title, or enter your own"
    ComboBoxContentControl1.DropDownListEntries.Add("Engineer", "Engineer", 0)
    ComboBoxContentControl1.DropDownListEntries.Add("Designer", "Designer", 1)
    ComboBoxContentControl1.DropDownListEntries.Add("Manager", "Manager", 2)
    
    DropDownListContentControl1.PlaceholderText = _
        "Choose a rating (1 lowest, 3 highest)"
    DropDownListContentControl1.DropDownListEntries.Add("1", "1", 0)
    DropDownListContentControl1.DropDownListEntries.Add("2", "2", 1)
    DropDownListContentControl1.DropDownListEntries.Add("3", "3", 2)
    
    comboBoxContentControl1.PlaceholderText = "Choose a title, or enter your own";
    comboBoxContentControl1.DropDownListEntries.Add("Engineer", "Engineer", 0);
    comboBoxContentControl1.DropDownListEntries.Add("Designer", "Designer", 1);
    comboBoxContentControl1.DropDownListEntries.Add("Manager", "Manager", 2);
    
    dropDownListContentControl1.PlaceholderText =
        "Choose a rating (1 lowest, 3 highest)";
    dropDownListContentControl1.DropDownListEntries.Add("1", "1", 0);
    dropDownListContentControl1.DropDownListEntries.Add("2", "2", 1);
    dropDownListContentControl1.DropDownListEntries.Add("3", "3", 2);
    

منع المستخدمين من تحرير جدول الموظف

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

لمنع المستخدمين من تحرير جدول الموظف

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

    Me.Tables(1).Select()
    GroupControl1 = Me.Controls.AddGroupContentControl("groupControl1")
    
    this.Tables[1].Range.Select();
    groupControl1 = this.Controls.AddGroupContentControl("groupControl1");
    

إضافة الجداول إلى مجموعة كتلة برمجية إنشائية

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

لإضافة الجداول إلى الكتل البرمجية الإنشائية في القالب

  1. قم بإضافة التعليمات البرمجية التالية إلى الأسلوب ThisDocument_Startup من الفئة ThisDocument بعد التعليمات البرمجية التي قمت بإضافتها في الخطوة السابقة. تعمل هذه التعليمات البرمجية على إضافة كتل برمجية إنشائية جديدة تحتوي على الجداول إلى المجموعة Microsoft.Office.Interop.Word.BuildingBlockEntries التي تحتوي على كافة الكتل البرمجية الإنشائية القابلة لإعادة الاستخدام في القالب. الكتل البرمجية الإنشائية الجديدة تم تعريفها في فئة جديدة باسم معلومات الموظفين والعملاء ويتم تعيين نوع الكتلة البرمجية الإنشائية Microsoft.Office.Interop.Word.WdBuildingBlockTypes.wdTypeCustom1 لها.

    Dim template1 As Word.Template = TryCast(Me.AttachedTemplate, Word.Template)
    If template1 IsNot Nothing Then
    
        template1.BuildingBlockEntries.Add("Employee Table", _
            Word.WdBuildingBlockTypes.wdTypeCustom1, "Employee and Customer Information", _
            Me.Tables(1).Range, InsertOptions:=Word.WdDocPartInsertOptions.wdInsertContent)
        template1.BuildingBlockEntries.Add("Customer Table", _
            Word.WdBuildingBlockTypes.wdTypeCustom1, "Employee and Customer Information", _
            Me.Tables(2).Range, InsertOptions:=Word.WdDocPartInsertOptions.wdInsertContent)
    End If
    
    Word.Template template1 = this.AttachedTemplate as Word.Template;
    
    if (template1 != null)
    {
        object description = null;
        template1.BuildingBlockEntries.Add("Employee Table",
            Word.WdBuildingBlockTypes.wdTypeCustom1, "Employee and Customer Information",
            this.Tables[1].Range, ref description, Word.WdDocPartInsertOptions.wdInsertContent);
        template1.BuildingBlockEntries.Add("Customer Table",
            Word.WdBuildingBlockTypes.wdTypeCustom1, "Employee and Customer Information",
            this.Tables[2].Range, ref description, Word.WdDocPartInsertOptions.wdInsertContent);
    }
    
  2. قم بإضافة التعليمات البرمجية التالية إلى الأسلوب ThisDocument_Startup من الفئة ThisDocument بعد التعليمات البرمجية التي قمت بإضافتها في الخطوة السابقة. تقوم هذه التعليمة البرمجية بحذف الجداول من القالب. لم تعد الجداول ضرورية، بسبب إضافتها إلى معرض الكتل البرمجية الإنشائية القابلة لإعادة الاستخدام في القالب. تضع التعليمات البرمجية أولًا المستند في وضع التصميم بحيث يمكن لجدول الموظف المحمي أن يتم حذفه.

    If Me.FormsDesign = False Then
        Me.ToggleFormsDesign()
    End If
    Me.Tables(2).Delete()
    Me.Tables(1).Delete()
    Me.ToggleFormsDesign()
    
    if (!this.FormsDesign)
    {
        this.ToggleFormsDesign();
    }
    this.Tables[2].Delete();
    this.Tables[1].Delete();
    this.ToggleFormsDesign();
    

إنشاء عنصر تحكم محتوى يعرض الكتل البرمجية الإنشائية

قم بإنشاء عنصر تحكم محتوى يوفر الوصول إلى الكتل البرمجية الإنشائية (أي، الجداول) التي قمت بإنشائها سابقًا. يمكن للمستخدمين النقر فوق عنصر التحكم هذا لإضافة الجداول إلى المستند.

لإنشاء عنصر تحكم محتوى يعرض الكتل البرمجية الإنشائية

  • قم بإضافة التعليمات البرمجية التالية إلى الأسلوب ThisDocument_Startup من الفئة ThisDocument بعد التعليمات البرمجية التي قمت بإضافتها في الخطوة السابقة. تقوم هذه التعليمات البرمجية بتهيئة الكائن BuildingBlockGalleryContentControl الذي قمت بالتصريح به سابقًا. BuildingBlockGalleryContentControl يعرض كافة الكتل البرمجية الإنشائية التي تم تعريفها في فئة معلومات الموظفين والعملاء والتي لديها نوع الكتلة البرمجية الإنشائية Microsoft.Office.Interop.Word.WdBuildingBlockTypes.wdTypeCustom1.

    BuildingBlockControl1 = Me.Controls.AddBuildingBlockGalleryContentControl( _
        Me.Paragraphs(1).Range, "buildingBlockControl1")
    BuildingBlockControl1.BuildingBlockCategory = "Employee and Customer Information"
    BuildingBlockControl1.BuildingBlockType = Word.WdBuildingBlockTypes.wdTypeCustom1
    BuildingBlockControl1.PlaceholderText = "Choose your first building block"
    
    BuildingBlockControl2 = Me.Controls.AddBuildingBlockGalleryContentControl( _
        Me.Paragraphs(2).Range, "buildingBlockControl2")
    BuildingBlockControl2.BuildingBlockCategory = "Employee and Customer Information"
    BuildingBlockControl2.BuildingBlockType = Word.WdBuildingBlockTypes.wdTypeCustom1
    BuildingBlockControl2.PlaceholderText = "Choose your second building block"
    
    buildingBlockControl1 = this.Controls.AddBuildingBlockGalleryContentControl(
        this.Paragraphs[1].Range, "buildingBlockControl1");
    buildingBlockControl1.BuildingBlockCategory = "Employee and Customer Information";
    buildingBlockControl1.BuildingBlockType = Word.WdBuildingBlockTypes.wdTypeCustom1;
    buildingBlockControl1.PlaceholderText = "Choose your first building block";
    
    buildingBlockControl2 = this.Controls.AddBuildingBlockGalleryContentControl(
        this.Paragraphs[2].Range, "buildingBlockControl2");
    buildingBlockControl2.BuildingBlockCategory = "Employee and Customer Information";
    buildingBlockControl2.BuildingBlockType = Word.WdBuildingBlockTypes.wdTypeCustom1;
    buildingBlockControl2.PlaceholderText = "Choose your second building block";
    

اختبار المشروع

يمكن للمستخدمين النقر فوق عناصر تحكم معرض الكتل البرمجية الإنشائية في المستند لإدراج جدول الموظفين أو جدول ردود أفعال العملاء. يمكن للمستخدمين كتابة أو تحديد الاستجابات في عناصر تحكم المحتوى في كل من الجدولين. يمكن للمستخدمين تعديل أجزاء أخرى من جدول ردود أفعال العملاء، إلا أنه يجب ألا يكونوا قادرين على تعديل أجزاء أخرى من جدول الموظفين.

لاختبار جدول الموظفين

  1. اضغط F5 لتشغيل المشروع.

  2. انقر فوق اختر الكتلة البرمجية الإنشائية الأولى الخاصة بك لعرض عنصر تحكم محتوى معرض الكتل البرمجية الإنشائية الأولى.

  3. انقر فوق سهم القائمة المنسدلة بجانب العنوان معرض مخصص في عنصر التحكم، وحدد جدول الموظفين.

  4. يتم يثّبت تلقائياً تشغيل الكمبيوتر تطوير عندما تقوم بتثبيت الأدوات developert Microsoft المكتب 2010 Suite في .

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

  5. بعد تصميم مشروع باستخدام المكتب المطور إلى ols في ‏‫Visual Studio وإعداد الملفات المشروع، يمكنك البدء في إلى concentrate تشغيل تنفيذ في تعليمات برمجية و cusإلىm واجهة مستخدم (واجه المستخدم).

  6. لاختبار كائن المكتب أصلي، استخدم و وظائف في مشروع الخاص بك.

    بشكل اختياري، اكتب اسماً لاسم المهنة غير الموجود في القائمة. وهذا ممكن لأن ComboBoxContentControl يمكّضن المستخدمين من الاختيار من قائمة الإدخالات أو كتابة الإدخالات الخاصة بهم.

  7. طريقة الوصول هذه وظائف تعتمد تشغيل الإصدار.NET Framework أهداف مشروع الخاص بك:

  8. حاول إضافة صفوف أو أعمدة إلى الجدول، ثم حاول حذف صفوف وأعمدة من الجدول. تحقق من أن لا يمكنك تعديل الجدول. GroupContentControl يمنعك من إجراء أية تعديلات.

لاختبار جدول رد فعل العميل

  1. انقر فوق اختر الكتلة البرمجية الإنشائية الثانية الخاصة بك لعرض عنصر تحكم محتوى معرض الكتل البرمجية الإنشائية الثانية.

  2. انقر فوق سهم القائمة المنسدلة بجانب العنوان معرض مخصص في عنصر التحكم، وحدد جدول العملاء.

  3. في مشاريع التي تستهدف 3.5 إطار عمل.NET، الوصول إلى الأساليب تشغيل مثيل من واحد الأنواع التالية في Excel و الكلمة الأساسي إمكانية التشغيل المتداخل تجميعات:

  4. في مشاريع that الهدف the , استخدم the  أو أسلوب, و pass في the أصلي الكلمة أو Excel كائن (such كـ a أو ) that you want إلى اختبار.

    تحقق من أنه لا يمكنك كتابة الإدخال الخاص بك. DropDownListContentControl يسمح للمستخدمين فقط بالاختيار من قائمة إدخالات.

  5. إلى استخدم the و وظائف في مستند-المستوى مشاريع that الهدف the .NET Framework 3.5, you must إضافة (for C#) أو (for Visual أساسى) statements for the أو مساحات الاسم إلى the الأعلى of your ‏‏رمز الملف.

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

  6. تحقق من أنه يمكنك إضافة صفوف أو أعمدة إلى الجدول كما يمكنك حذف صفوف وأعمدة من الجدول. ويعد ذلك ممكنًا لأنك لم تحم الجدول بوضعه في GroupContentControl.

  7. أغلق القالب.

الخطوات التالية

يمكنك معرفة المزيد حول كيفية استخدام عناصر تحكم المحتوى من هذا الموضوع:

راجع أيضًا:

المهام

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

كيفية القيام بما يلي: حماية أجزاء من المستند باستخدام عناصر تحكم المحتوى

المبادئ

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

عناصر تحكم المحتوى

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

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

إضافة عناصر تحكم إلى مستندات Office في وقت التشغيل

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