مشاركة عبر


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

ينطبق على

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

نوع المشروع

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

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

إصدار Microsoft Office

  • Word 2007

  • Word 2010

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

يصف هذا الموضوع المهام التالية:

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

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

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

للحصول على معلومات حول عناصر تحكم المحتويات، راجع عناصر تحكم المحتوى.

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

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

ملاحظة

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

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

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

  2. قم بفتح مربع الأدوات وانقر فوق علامة التبويب عناصر تحكم Word.

  3. قم بإضافة عنصر التحكم بأحد الطرق التالية:

    • انقر نقرًا مزدوجًا فوق عنصر تحكم المحتويات في مربع الأدوات.

      أو

    • انقر فوق عنصر تحكم المحتويات في مربع الأدوات ومن ثم اضغط المفتاح ENTER.

      أو

    • اسحب عنصر تحكم المحتويات من مربع الأدوات إلى المستند. تتم إضافة عنصر تحكم المحتويات في التحديد الحالي في المستند، وليس في موقع مؤشر الماوس.

ملاحظة

لا يمكنك إضافة GroupContentControl باستخدام مربع الأدوات. يمكنك فقط إضافة GroupContentControl في Word، أو في وقت التشغيل.

ملاحظة

For مثال, the كائن represents the entire تطبيق, the كائن represents a مجلد that يحتوي على e-بريد رسائل أو غير ذلك عناصر, و the كائن represents an e-بريد رسالة. This موضوع provides a brief overview of some of the main الكائنات في the Outlook كائن model.ContentControl لمزيد من المعلومات، راجع عناصر تحكم المحتوى.

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

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

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

    ملاحظة

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

  3. في المجموعة عناصر التحكم، انقر فوق أيقونة عنصر تحكم المحتويات الذي تريد إضافته.

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

يمكنك إضافة عناصر تحكم محتويات برمجيًا إلى مستندك في وقت التشغيل باستخدام أساليب الخاصية Controls من الفئة ThisDocument في مشروعك. يحتوي كل أسلوب على ثلاث تحميلات زائدة يمكنك استخدامها لإضافة عنصر تحكم محتويات بالطرق التالية:

  • قم بإضافة عنصر تحكم في التحديد الحالي.

  • قم بإضافة عنصر تحكم في نطاق محدد.

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

Outlook provides many الكائنات مع which you can interact. ومع ذلك، يبقى عنصر تحكم محتويات أصلي في المستند. إلى استخدم the كائن model effectively, you should be familiar مع the following الأعلى-المستوى الكائنات: لمزيد من المعلومات، راجع إضافة عناصر تحكم إلى مستندات Office في وقت التشغيل.

ملاحظة

The ContentControl كائن represents the Outlook تطبيق, و it هو the الأعلى-المستوى كائن في the Outlook كائن model. لمزيد من المعلومات، راجع عناصر تحكم المحتوى.

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

  • استخدم أسلوب ControlCollection يكون له اسم <فئة_عنصر_التحكمAdd (حيث أن فئة_عنصر_التحكم هو اسم فئة عنصر تحكم المحتويات الذي تريد إضافته، مثل AddRichTextContentControl)، وله معلمة واحدة لاسم عنصر التحكم الجديد.

    يستخدم مثال التعليمات البرمجية التالي الأسلوب ControlCollection.AddRichTextContentControl(String) لإضافة RichTextContentControl جديد إلى بداية المستند. لتشغيل هذه التعليمات البرمجية، قم بإضافة التعليمات البرمجية إلى الفئة ThisDocument في مشروعك، ثم قم باستدعاء الأسلوب AddRichTextControlAtSelection من معالج الحدث ThisDocument_Startup.

    Dim richTextControl1 As Microsoft.Office.Tools.Word.RichTextContentControl
    
    Private Sub AddRichTextControlAtSelection()
        Me.Paragraphs(1).Range.InsertParagraphBefore()
        Me.Paragraphs(1).Range.Select()
        richTextControl1 = Me.Controls.AddRichTextContentControl("richTextControl1")
        richTextControl1.PlaceholderText = "Enter your first name"
    End Sub
    
    private Microsoft.Office.Tools.Word.RichTextContentControl richTextControl1;
    
    private void AddRichTextControlAtSelection()
    {
        this.Paragraphs[1].Range.InsertParagraphBefore();
        this.Paragraphs[1].Range.Select();
    
        richTextControl1 = this.Controls.AddRichTextContentControl("richTextControl1");
        richTextControl1.PlaceholderText = "Enter your first name";
    }
    

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

  • استخدم أسلوب ControlCollection يكون له اسم <فئة_عنصر_التحكمAdd (حيث أن فئة_عنصر_التحكم هو اسم فئة عنصر تحكم المحتويات الذي تريد إضافته، مثل AddRichTextContentControl)، وله المعلمة Microsoft.Office.Interop.Word.Range.

    يستخدم مثال التعليمات البرمجية التالي الأسلوب ControlCollection.AddRichTextContentControl(Range, String) لإضافة RichTextContentControl جديد إلى بداية المستند. لتشغيل هذه التعليمات البرمجية، قم بإضافة التعليمات البرمجية إلى الفئة ThisDocument في مشروعك، ثم قم باستدعاء الأسلوب AddRichTextControlAtRange من معالج الحدث ThisDocument_Startup.

    Dim richTextControl2 As Microsoft.Office.Tools.Word.RichTextContentControl
    
    Private Sub AddRichTextControlAtRange()
        Me.Paragraphs(1).Range.InsertParagraphBefore()
        richTextControl2 = Me.Controls.AddRichTextContentControl(Me.Paragraphs(1).Range, _
            "richTextControl2")
        richTextControl2.PlaceholderText = "Enter your first name"
    End Sub
    
    private Microsoft.Office.Tools.Word.RichTextContentControl richTextControl2;
    
    private void AddRichTextControlAtRange()
    {
        this.Paragraphs[1].Range.InsertParagraphBefore();
    
        richTextControl2 = this.Controls.AddRichTextContentControl(this.Paragraphs[1].Range,
            "richTextControl2");
        richTextControl2.PlaceholderText = "Enter your first name";
    }
    

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

  • استخدم أسلوب ControlCollection يكون له اسم <فئة_عنصر_التحكم>Add (حيث أن فئة_عنصر_التحكم هو اسم فئة عنصر تحكم المحتويات الذي تريد إضافته، مثل AddRichTextContentControl)، وله المعلمة Microsoft.Office.Interop.Word.ContentControl.

    يستخدم مثال التعليمات البرمجية التالي الأسلوب ControlCollection.AddRichTextContentControl(ContentControl, String) لإنشاء RichTextContentControl جديد لكل عنصر تحكم نص منسق (غني) أصلي في المستند. لتشغيل هذه التعليمات البرمجية، قم بإضافة التعليمات البرمجية إلى الفئة ThisDocument في مشروعك، ثم قم باستدعاء الأسلوب CreateRichTextControlsFromNativeControls من معالج الحدث ThisDocument_Startup.

    Private richTextControls As New System.Collections.Generic.List _
            (Of Microsoft.Office.Tools.Word.RichTextContentControl)
    
    Private Sub CreateRichTextControlsFromNativeControls()
        If Me.ContentControls.Count <= 0 Then
            Return
        End If
    
        Dim count As Integer = 0
        For Each nativeControl As Word.ContentControl In Me.ContentControls
            If nativeControl.Type = Word.WdContentControlType.wdContentControlRichText Then
                count += 1
                Dim tempControl As Microsoft.Office.Tools.Word.RichTextContentControl = _
                    Me.Controls.AddRichTextContentControl(nativeControl, _
                    "VSTORichTextContentControl" + count.ToString())
                richTextControls.Add(tempControl)
            End If
        Next nativeControl
    End Sub
    
    private System.Collections.Generic.List
        <Microsoft.Office.Tools.Word.RichTextContentControl> richTextControls;
    
    private void CreateRichTextControlsFromNativeControls()
    {
        if (this.ContentControls.Count <= 0)
            return;
    
        richTextControls = new System.Collections.Generic.List
            <Microsoft.Office.Tools.Word.RichTextContentControl>();
        int count = 0;
    
        foreach (Word.ContentControl nativeControl in this.ContentControls)
        {
            if (nativeControl.Type ==
                Microsoft.Office.Interop.Word.WdContentControlType.wdContentControlRichText)
            {
                count++;
                Microsoft.Office.Tools.Word.RichTextContentControl tempControl =
                    this.Controls.AddRichTextContentControl(nativeControl,
                    "VSTORichTextControl" + count.ToString());
                richTextControls.Add(tempControl);
            }
        }
    }
    

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

Some of the most important الأعضاء of this كائن تضمين: للقيام بترتيب هو، إنشاء Documentمضيف العنصر الذي هو على مستند مفتوح، وبعد ذلك باستخدام الأساليب الخاصة Controlsخاصية th هو استضافة عنصر. يحتوي كل أسلوب على ثلاث تحميلات زائدة يمكنك استخدامها لإضافة عنصر تحكم محتويات بالطرق التالية:

  • قم بإضافة عنصر تحكم في التحديد الحالي.

  • قم بإضافة عنصر تحكم في نطاق محدد.

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

Outlook provides many الكائنات مع which you can interact. ومع ذلك، يبقى عنصر تحكم محتويات أصلي في المستند. إلى استخدم the كائن model effectively, you should be familiar مع the following الأعلى-المستوى الكائنات: لمزيد من المعلومات، راجع استمرارية عناصر التحكم الديناميكي في مستندات Office.

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

ملاحظة

The ContentControl كائن represents the Outlook تطبيق, و it هو the الأعلى-المستوى كائن في the Outlook كائن model. لمزيد من المعلومات، راجع عناصر تحكم المحتوى.

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

  • استخدم أسلوب ControlCollection يكون له اسم <فئة_عنصر_التحكمAdd (حيث أن فئة_عنصر_التحكم هو اسم فئة عنصر تحكم المحتويات الذي تريد إضافته، مثل AddRichTextContentControl)، وله معلمة واحدة لاسم عنصر التحكم الجديد.

    يستخدم مثال التعليمات البرمجية التالي الأسلوب ControlCollection.AddRichTextContentControl(String) لإضافة RichTextContentControl جديد إلى بداية المستند النشط. لتشغيل هذه التعليمات البرمجية، قم بإضافة التعليمات البرمجية إلى الفئة ThisAddIn في مشروعك، ثم قم باستدعاء الأسلوب AddRichTextControlAtSelection من معالج الحدث ThisAddIn_Startup.

    Dim richTextControl1 As Microsoft.Office.Tools.Word.RichTextContentControl
    
    Private Sub AddRichTextControlAtSelection()
        Dim currentDocument As Word.Document = Me.Application.ActiveDocument
        currentDocument.Paragraphs(1).Range.InsertParagraphBefore()
        currentDocument.Paragraphs(1).Range.Select()
    
        ' Use the following line of code in projects that target the .NET Framework 4.
        Dim extendedDocument As Document = Globals.Factory.GetVstoObject(currentDocument)
    
        ' In projects that target the .NET Framework 3.5, use the following line of code.
        ' Dim extendedDocument As Document = currentDocument.GetVstoObject()
    
        richTextControl1 = extendedDocument.Controls.AddRichTextContentControl("richTextControl1")
        richTextControl1.PlaceholderText = "Enter your first name"
    End Sub
    
    private Microsoft.Office.Tools.Word.RichTextContentControl richTextControl1;
    
    private void AddRichTextControlAtSelection()
    {
        Word.Document currentDocument = this.Application.ActiveDocument;
        currentDocument.Paragraphs[1].Range.InsertParagraphBefore();
        currentDocument.Paragraphs[1].Range.Select();
    
        // Use the following line of code in projects that target the .NET Framework 4.
        Document extendedDocument = Globals.Factory.GetVstoObject(currentDocument);
    
        // In projects that target the .NET Framework 3.5, use the following line of code.
        // Document extendedDocument = currentDocument.GetVstoObject();
    
        richTextControl1 = extendedDocument.Controls.AddRichTextContentControl("richTextControl1");
        richTextControl1.PlaceholderText = "Enter your first name";
    }
    

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

  • استخدم أسلوب ControlCollection يكون له اسم <فئة_عنصر_التحكمAdd (حيث أن فئة_عنصر_التحكم هو اسم فئة عنصر تحكم المحتويات الذي تريد إضافته، مثل AddRichTextContentControl)، وله المعلمة Microsoft.Office.Interop.Word.Range.

    يستخدم مثال التعليمات البرمجية التالي الأسلوب ControlCollection.AddRichTextContentControl(Range, String) لإضافة RichTextContentControl جديد إلى بداية المستند النشط. لتشغيل هذه التعليمات البرمجية، قم بإضافة التعليمات البرمجية إلى الفئة ThisAddIn في مشروعك، ثم قم باستدعاء الأسلوب AddRichTextControlAtRange من معالج الحدث ThisAddIn_Startup.

    Dim richTextControl2 As Microsoft.Office.Tools.Word.RichTextContentControl
    
    Private Sub AddRichTextControlAtRange()
        Dim currentDocument As Word.Document = Me.Application.ActiveDocument
        currentDocument.Paragraphs(1).Range.InsertParagraphBefore()
    
        ' Use the following line of code in projects that target the .NET Framework 4.
        Dim extendedDocument As Document = Globals.Factory.GetVstoObject(currentDocument)
    
        ' In projects that target the .NET Framework 3.5, use the following line of code.
        ' Dim extendedDocument As Document = currentDocument.GetVstoObject()
    
        richTextControl2 = extendedDocument.Controls.AddRichTextContentControl( _
            extendedDocument.Paragraphs(1).Range, "richTextControl2")
        richTextControl2.PlaceholderText = "Enter your first name"
    End Sub
    
    private Microsoft.Office.Tools.Word.RichTextContentControl richTextControl2;
    
    private void AddRichTextControlAtRange()
    {
        Word.Document currentDocument = this.Application.ActiveDocument;
        currentDocument.Paragraphs[1].Range.InsertParagraphBefore();
    
        // Use the following line of code in projects that target the .NET Framework 4.
        Document extendedDocument = Globals.Factory.GetVstoObject(currentDocument);
    
        // In projects that target the .NET Framework 3.5, use the following line of code.
        // Document extendedDocument = currentDocument.GetVstoObject();
    
        richTextControl2 = extendedDocument.Controls.AddRichTextContentControl(
            currentDocument.Paragraphs[1].Range, "richTextControl2");
        richTextControl2.PlaceholderText = "Enter your first name";
    }
    

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

  • استخدم أسلوب ControlCollection يكون له اسم <فئة_عنصر_التحكم>Add (حيث أن فئة_عنصر_التحكم هو اسم فئة عنصر تحكم المحتويات الذي تريد إضافته، مثل AddRichTextContentControl)، وله المعلمة Microsoft.Office.Interop.Word.ContentControl.

    يستخدم المثال التعليمات البرمجية التالي الأسلوب ControlCollection.AddRichTextContentControl(ContentControl, String) لإنشاء RichTextContentControl جديد لكل عنصر تحكم نص منسق (غني) أصلي في مستند، بعد فتح المستند. لتشغيل هذه التعليمات البرمجية، قم بإضافة التعليمات البرمجية إلى الفئة ThisAddIn في مشروعك.

    Private richTextControls As New System.Collections.Generic.List _
        (Of Microsoft.Office.Tools.Word.RichTextContentControl)
    
    Private Sub Application_DocumentOpen(ByVal Doc As Microsoft.Office.Interop.Word.Document) _
        Handles Application.DocumentOpen
    
        If Doc.ContentControls.Count > 0 Then
    
            ' Use the following line of code in projects that target the .NET Framework 4.
            Dim extendedDocument As Document = Globals.Factory.GetVstoObject(Doc)
    
            ' In projects that target the .NET Framework 3.5, use the following line of code.
            ' Dim extendedDocument As Document = Doc.GetVstoObject()
    
            Dim count As Integer = 0
            For Each nativeControl As Word.ContentControl In Doc.ContentControls
                If nativeControl.Type = Word.WdContentControlType.wdContentControlRichText Then
                    count += 1
                    Dim tempControl As Microsoft.Office.Tools.Word.RichTextContentControl = _
                        extendedDocument.Controls.AddRichTextContentControl(nativeControl, _
                        "VSTORichTextContentControl" + count.ToString())
                    richTextControls.Add(tempControl)
                End If
            Next nativeControl
        End If
    End Sub
    
    private System.Collections.Generic.List
        <Microsoft.Office.Tools.Word.RichTextContentControl> richTextControls;
    
    private void Application_DocumentOpen(Microsoft.Office.Interop.Word.Document Doc)
    {
        if (Doc.ContentControls.Count > 0)
        {
            // Use the following line of code in projects that target the .NET Framework 4.
            Document extendedDocument = Globals.Factory.GetVstoObject(Doc);
    
            // In projects that target the .NET Framework 3.5, use the following line of code.
            // Document extendedDocument = Doc.GetVstoObject();
    
            richTextControls = new System.Collections.Generic.List
                <Microsoft.Office.Tools.Word.RichTextContentControl>();
            int count = 0;
    
            foreach (Word.ContentControl nativeControl in Doc.ContentControls)
            {
                if (nativeControl.Type ==
                    Microsoft.Office.Interop.Word.WdContentControlType.wdContentControlRichText)
                {
                    count++;
                    Microsoft.Office.Tools.Word.RichTextContentControl tempControl =
                        extendedDocument.Controls.AddRichTextContentControl(nativeControl,
                        "VSTORichTextControl" + count.ToString());
                    richTextControls.Add(tempControl);
                }
            }
        }
    }
    

    في #C، يجب أيضًا إرفاق معالج الأحداث Application_DocumentOpen إلى الحدث DocumentOpen.

    this.Application.DocumentOpen +=
        new Word.ApplicationEvents4_DocumentOpenEventHandler(Application_DocumentOpen);
    

راجع أيضًا:

المبادئ

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

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

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

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

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

موارد أخرى

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

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