مشاركة عبر


توسيع مستندات Word ومصنفات Excel في وظائف إضافية على مستوى التطبيق في وقت التشغيل

ينطبق على

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

نوع المشروع

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

إصدار Microsoft Office

  • Excel 2007 و Excel 2010

  • Word 2007 و Word 2010

يمكنك استخدام وظائف إضافية على مستوى تطبيق لتخصيص مستندات و مصنفات بالطرق التالية:

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

  • إنشاء العلامات الذكية التي يتم التعرف عليها في مستند محدد أو مصنف.

  • تحويل كائن قائمة موجود في ورقة عمل Excel إلى ListObject موسع يعرض الأحداث و يمكن ربطه بالبيانات باستخدام نموذج ربط بيانات Windows Forms.

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

لاستخدام هذه الوظيفة, قم بإنشاء كائن وقت التشغيل الذي يوسع المستند أو المصنف.

إنشاء كائنات موسّعة فى الوظائف الإضافية

الكائنات الموسعة عبارة عن عناصر من أنواع توفر من قبل وقت التشغيل ‎Visual Studio Tools لـ Office الذي يضيف وظيفة للكائنات الموجودة أصلًا في نماذج كائن Word أو Excel (تسمى كائنات Office أصلية). لإنشاء كائن موسع لكائن Word أو Excel, استخدم الأسلوب GetVstoObject . المرة الأولى التي تقوم باستدعاء أسلوب GetVstoObject لكائن Word أو Excel المحدد, تقوم بإرجاع كائن جديد يوسع الكائن المحدد. في كل مرة تقوم باستدعاء الأسلوب و تحديد نفس كائن Word أو Excel ، تقوم بإرجاع نفس الكائن الموسع.

نوع الكائن الموسع له نفس الاسم مثل كائن Office الأصلي ولكن النوع معرف في مساحة الاسم Microsoft.Office.Tools.Excel أو Microsoft.Office.Tools.Word . على سبيل المثال، إذا استدعيت أسلوب GetVstoObject لتوسيع كائن Microsoft.Office.Interop.Word.Document , يقوم الأسلوب بإرجاع كائن Microsoft.Office.Tools.Word.Document .

توضح هذه معاينة كيفية إلى استخدام شريط إلى تمكين المستخدمين من إلى إضافة على GetVstoObjectأو إلى مستند.

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

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

ملاحظة

لاستخدام أساليب GetVstoObject و HasVstoObject في ملف تعليمات برمجية غير ThisAddIn.cs أو ThisAddIn.vb في المشروع الذي يستهدف 3.5 .NET Framework ، يجب عليك تعديل مشروع. للحصول على معلومات إضافية, راجع تكوين المشروع الخاص بك لاستخدام أساليب GetVstoObject و HasVstoObject .

إنشاء العناصر مضيفة

عند استخدام GetVstoObject لتوسيع كائن على مستوى المستند (أي، Microsoft.Office.Interop.Excel.Workbook ، Microsoft.Office.Interop.Excel.Worksheet ، أو Microsoft.Office.Interop.Word.Document) ، يسمى الكائن الذي تم إرجاعه عنصر مضيف. العنصر المضيف هو النوع الذي يمكن أن يحتوي على كائنات أخرى بما في ذلك الكائنات و عناصر التحكم الأخرى الموسعة. يشبه النوع المطابق في تجميع توافق Word أو Excel الأساسي ولكن له ميزات إضافية. لمزيد من المعلومات حول عناصر المضيف, انظرنظرة عامة حول العناصر المضيفة و عناصر تحكم المضيف.

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

لإنشاء عنصر مضيف لمستند Word

  • يوضح مثال التعليمات البرمجية التالي كيفية إنشاء عنصر مضيف في المستند النشط في مشروع يستهدف .NET Framework 4.

    If Globals.ThisAddIn.Application.Documents.Count > 0 Then
        Dim NativeDocument As Microsoft.Office.Interop.Word.Document = _
            Globals.ThisAddIn.Application.ActiveDocument
        Dim VstoDocument As Microsoft.Office.Tools.Word.Document = _
            Globals.Factory.GetVstoObject(NativeDocument)
    End If
    
    if (Globals.ThisAddIn.Application.Documents.Count > 0)
    {
        Microsoft.Office.Interop.Word.Document nativeDocument =
            Globals.ThisAddIn.Application.ActiveDocument;
        Microsoft.Office.Tools.Word.Document vstoDocument =
            Globals.Factory.GetVstoObject(nativeDocument);
    }
    
  • يوضح مثال التعليمات البرمجية التالي نفس المهمة في مشروع يستهدف NET Framework 3.5. .

    If Globals.ThisAddIn.Application.Documents.Count > 0 Then
        Dim NativeDocument As Microsoft.Office.Interop.Word.Document =
            Globals.ThisAddIn.Application.ActiveDocument
        If NativeDocument IsNot Nothing Then
            Dim vstoDocument As Microsoft.Office.Tools.Word.Document =
                NativeDocument.GetVstoObject()
        End If
    End If
    
    if (Globals.ThisAddIn.Application.Documents.Count > 0)
    {
        Microsoft.Office.Interop.Word.Document nativeDocument =
            Globals.ThisAddIn.Application.ActiveDocument;
        Microsoft.Office.Tools.Word.Document vstoDocument =
            nativeDocument.GetVstoObject();
    }
    

لإنشاء عنصر مضيف لمصنف Excel

  • يوضح مثال التعليمات البرمجية التالي كيفية إنشاء عنصر مضيف في المصنف النشط في مشروع يستهدف .NET Framework 4.

    Dim NativeWorkbook As Microsoft.Office.Interop.Excel.Workbook =
        Globals.ThisAddIn.Application.ActiveWorkbook
    If NativeWorkbook IsNot Nothing Then
        Dim vstoWorkbook As Microsoft.Office.Tools.Excel.Workbook =
            Globals.Factory.GetVstoObject(NativeWorkbook)
    End If
    
    Microsoft.Office.Interop.Excel.Workbook nativeWorkbook = 
        Globals.ThisAddIn.Application.ActiveWorkbook;
    if (nativeWorkbook != null)
    {
        Microsoft.Office.Tools.Excel.Workbook vstoWorkbook = 
            Globals.Factory.GetVstoObject(nativeWorkbook);
    }
    
  • يوضح مثال التعليمات البرمجية التالي نفس المهمة في مشروع يستهدف NET Framework 3.5. .

    Dim NativeWorkbook As Microsoft.Office.Interop.Excel.Workbook = _
        Globals.ThisAddIn.Application.ActiveWorkbook
    
    If NativeWorkbook IsNot Nothing Then
        Dim VstoWorkbook As Microsoft.Office.Tools.Excel.Workbook = _
            NativeWorkbook.GetVstoObject()
    End If
    
    Microsoft.Office.Interop.Excel.Workbook nativeWorkbook =
        Globals.ThisAddIn.Application.ActiveWorkbook;
    
    if (nativeWorkbook != null)
    {
        Microsoft.Office.Tools.Excel.Workbook vstoWorkbook =
            nativeWorkbook.GetVstoObject();
    }
    

لإنشاء عنصر مضيف لورقة عمل Excel

  • يوضح مثال التعليمات البرمجية التالي كيفية إنشاء عنصر مضيف في ورقة العمل النشطة في مشروع يستهدف .NET Framework 4.

    Dim NativeWorksheet As Microsoft.Office.Interop.Excel.Worksheet =
        Globals.ThisAddIn.Application.ActiveSheet
    If NativeWorksheet IsNot Nothing Then
        Dim vstoSheet As Microsoft.Office.Tools.Excel.Worksheet =
            Globals.Factory.GetVstoObject(NativeWorksheet)
    End If
    
    Microsoft.Office.Interop.Excel.Worksheet nativeWorksheet =
        Globals.ThisAddIn.Application.ActiveSheet;
    if (nativeWorksheet != null)
    {
        Microsoft.Office.Tools.Excel.Worksheet vstoSheet = 
            Globals.Factory.GetVstoObject(nativeWorksheet);
    }
    
  • يوضح مثال التعليمات البرمجية التالي نفس المهمة في مشروع يستهدف NET Framework 3.5. .

    Dim NativeSheet As Microsoft.Office.Interop.Excel.Worksheet = _
        TryCast(Globals.ThisAddIn.Application.ActiveSheet,  _
        Microsoft.Office.Interop.Excel.Worksheet)
    
    If NativeSheet IsNot Nothing Then
        Dim VstoSheet As Microsoft.Office.Tools.Excel.Worksheet = _
            NativeSheet.GetVstoObject()
    End If
    
    Microsoft.Office.Interop.Excel.Worksheet nativeSheet =
        Globals.ThisAddIn.Application.ActiveSheet as
        Microsoft.Office.Interop.Excel.Worksheet;
    
    if (nativeSheet != null)
    {
        Microsoft.Office.Tools.Excel.Worksheet vstoSheet =
            nativeSheet.GetVstoObject();
    }
    

إنشاء عناصر تحكم المضيف ListObject

عند استخدام أسلوب GetVstoObject لتوسيع Microsoft.Office.Interop.Excel.ListObject ،يقوم الأسلوب بإرجاع Microsoft.Office.Tools.Excel.ListObject. يحتويMicrosoft.Office.Tools.Excel.ListObject على كافة المميزات الأصلية Microsoft.Office.Interop.Excel.ListObject ، ولكن له أيضاً وظيفة إضافية مثل القدرة على يكون منضماً إلى بيانات باستخدام نماذج لربط بيانات Windows Forms . لمزيد من المعلومات، راجع عنصر تحكم ListObject.

لإنشاء عنصر تحكم المضيف ListObject

  • يوضح مثال التعليمات البرمجية التالي كيفية إنشاء Microsoft.Office.Tools.Excel.ListObject لأول Microsoft.Office.Interop.Excel.ListObject فى ورقة العمل النشطة فى مشروع يستهدف .NET Framework 4.

    Dim sheet As Microsoft.Office.Interop.Excel.Worksheet =
        Globals.ThisAddIn.Application.ActiveSheet
    If sheet.ListObjects.Count > 0 Then
        Dim listObject As Excel.ListObject = sheet.ListObjects(1)
        Dim vstoListObject As Microsoft.Office.Tools.Excel.ListObject =
            Globals.Factory.GetVstoObject(listObject)
    End If
    
    Microsoft.Office.Interop.Excel.Worksheet sheet =
        Globals.ThisAddIn.Application.ActiveSheet;
    if (sheet.ListObjects.Count > 0)
    {
        Excel.ListObject listObject = 
            sheet.ListObjects[1];
        Microsoft.Office.Tools.Excel.ListObject vstoListObject =
            Globals.Factory.GetVstoObject(listObject);
    }
    
  • يوضح مثال التعليمات البرمجية التالي نفس المهمة في مشروع يستهدف NET Framework 3.5. .

    Dim sheet As Excel.Worksheet = Globals.ThisAddIn.Application.ActiveSheet
    
    If sheet.ListObjects.Count > 0 Then
        Dim listObject As Excel.ListObject = sheet.ListObjects(1)
        Dim vstoListObject As Microsoft.Office.Tools.Excel.ListObject = _
            listObject.GetVstoObject()
    End If
    
    Microsoft.Office.Interop.Excel.Worksheet sheet =
        Globals.ThisAddIn.Application.ActiveSheet as
        Microsoft.Office.Interop.Excel.Worksheet;
    
    if (sheet.ListObjects.Count > 0)
    {
        Excel.ListObject listObject = sheet.ListObjects[1];
        Microsoft.Office.Tools.Excel.ListObject vstoListObject =
            listObject.GetVstoObject();
    }
    

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

بعد إنشاء Microsoft.Office.Tools.Word.Document أو Microsoft.Office.Tools.Excel.Workbook ، يمكنك إنشاء علامة ذكية يتم التعرف عليها في سياق المستند أو المصنف الذي تمثله هذه الكائنات. للقيام بذلك، استخدم خاصية VstoSmartTags من Microsoft.Office.Tools.Word.Document أو Microsoft.Office.Tools.Excel.Workbook. لمزيد من المعلومات، راجع المواضيع التالية:

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

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

يمكن أضافة عناصر تحكم Windows Forms أو عناصر تحكم المضيف . عنصر تحكم المضيف هو عنصر تحكم موفر من خلال Visual Studio Tools لوقت تشغيل Office التي يلف عنصر تحكم مطابق في تجميع توافق Word أو Excel الأساسي. عنصر تحكم المضيف يعرض كافة سلوك كائن Office الأصلي الأساسي، ولكن أيضاً يرفع أحداث و يمكن ربطه ببيانات باستخدام نموذج ربط بيانات Windows Forms. لمزيد من المعلومات، راجع نظرة عامة حول العناصر المضيفة و عناصر تحكم المضيف.

ملاحظة

You cannot add an XmlMappedRange control to a worksheet, or an XMLNode or XMLNodes control to a document, by using an add-in. معالج الأحداث "إضافة زر" الاختيار صندوق يفتح في. محرر تعليمات برمجية لمزيد من المعلومات، راجع القيود البرمجية للعناصر مضيفة وعناصر التحكم.

استمرار عناصر التحكم و إزالتها

عندما تقوم بإضافة عناصر التحكم المدارة إلى مستند أو ورقة عمل، عناصر التحكم لا تستمر عندما يتم حفظ المستند ثم إغلاقه. تتم إزالة جميع عناصر تحكم المضيف بحيث تبقى كائنات Office الأصلية الرئيسية فقط (على سبيل المثال، Microsoft.Office.Tools.Excel.ListObject يصبح Microsoft.Office.Interop.Excel.ListObject). تتم إزالة كافة عناصر تحكم Windows Forms أيضاً ولكن يتم ترك برامج تضمين ActiveX لعناصر التحكم في المستند. يجب عليك تضمين التعليمات البرمجية في التعليمات البرمجية الخاصة بك ,لتنظيف عناصر التحكم أو لإعادة إنشاء عناصر التحكم في المرة التالية التي يتم فيها فتح المستند. لمزيد من المعلومات، راجع استمرارية عناصر التحكم الديناميكي في مستندات Office.

الوصول إلى أحداث على مستوى التطبيق في المستندات و المصنفات

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

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

مثال يستخدم كائنات Word الأصلية

يوضح مثال التعليمات البرمجية التالي كيفية معالجة الحدث على مستوى التطبيق لمستندات Word. يقوم أسلوب CreateDocument بإنشاء مستند جديد ثم يعرف معالج الأحداث DocumentBeforeSave الذي يمنع هذا المستند من الحفظ. لأن هذا هو حدث على مستوى التطبيق يتم رفعه للكائن Microsoft.Office.Interop.Word.Application، يجب على معالج الحدث مقارنة المعلمة Doc مع الكائن document1 لتحديد ما إذا كان document1 يمثل المستند المحفوظ.

Private document1 As Word.Document = Nothing

Private Sub CreateDocument1()
    document1 = Me.Application.Documents.Add()
End Sub

Private Sub Application_DocumentBeforeSave(ByVal Doc As Word.Document, _
    ByRef SaveAsUI As Boolean, ByRef Cancel As Boolean) _
    Handles Application.DocumentBeforeSave
    If Type.ReferenceEquals(Doc, document1) Then
        Cancel = True
    End If
End Sub
private Word.Document document1 = null;

private void CreateDocument1()
{
    document1 = this.Application.Documents.Add(ref missing,
        ref missing, ref missing, ref missing);
    this.Application.DocumentBeforeSave += 
        new Word.ApplicationEvents4_DocumentBeforeSaveEventHandler(
        Application_DocumentBeforeSave);
}

private void Application_DocumentBeforeSave(Word.Document Doc, 
    ref bool SaveAsUI, ref bool Cancel)
{
    if (Type.ReferenceEquals(Doc, document1)) 
    {
        Cancel = true;
    }
}

الأمثلة التي تستخدم عنصراً مضيفاً

أمثلة التعليمات البرمجية التالية تقوم بتبسيط هذه العملية عن طريق معالجة الحدث BeforeSave للعنصر المضيف Microsoft.Office.Tools.Word.Document . يقوم هذا الاسلوب CreateDocument2 في هذه الأمثلة بإنشاء Microsoft.Office.Tools.Word.Document الذي يوسع الكائن document2, ثم يقوم بتعريف معالج أحداث BeforeSave يمنع حفظ المستند. لأن معالج الحدث هذا يتم استدعاؤه فقط عند حفظ document2 ، يمكن لمعالج الحدث إلغاء إجراء الحفظ دون إجراء أي عمل إضافي للتحقق أى من مستند تم حفظه.

يوضح مثال التعليمات البرمجية التالي هذه المهمة في مشروع يستهدف .NET Framework 4.

Private document2 As Word.Document = Nothing
Private WithEvents vstoDocument As Microsoft.Office.Tools.Word.Document = Nothing

Private Sub CreateDocument2()
    document2 = Me.Application.Documents.Add()
    vstoDocument = Globals.Factory.GetVstoObject(document2)
End Sub

Private Sub vstoDocument_BeforeSave(ByVal sender As Object, _
    ByVal e As SaveEventArgs) Handles vstoDocument.BeforeSave
    e.Cancel = True
End Sub
private Word.Document document2 = null;
private Microsoft.Office.Tools.Word.Document vstoDocument = null;

private void CreateDocument2()
{
    document2 = this.Application.Documents.Add(ref missing,
        ref missing, ref missing, ref missing);
    vstoDocument = Globals.Factory.GetVstoObject(document2);
    vstoDocument.BeforeSave += new SaveEventHandler(vstoDocument_BeforeSave);
}

private void vstoDocument_BeforeSave(object sender, SaveEventArgs e)
{
    e.Cancel = true;
}

يوضح مثال التعليمات البرمجية التالي هذه المهمة في مشروع يستهدف NET Framework 3.5. .

Private document2 As Microsoft.Office.Interop.Word.Document = Nothing
Private WithEvents vstoDocument As Microsoft.Office.Tools.Word.Document = Nothing

Private Sub CreateDocument2()
    document2 = Me.Application.Documents.Add()
    vstoDocument = document2.GetVstoObject()
End Sub

Private Sub vstoDocument_BeforeSave(ByVal sender As Object,
    ByVal e As SaveEventArgs) Handles vstoDocument.BeforeSave
    e.Cancel = True
End Sub
private Word.Document document2 = null;
private Microsoft.Office.Tools.Word.Document vstoDocument = null;

private void CreateDocument2()
{
    document2 = this.Application.Documents.Add(ref missing,
        ref missing, ref missing, ref missing);
    vstoDocument = document2.GetVstoObject();
    vstoDocument.BeforeSave += new SaveEventHandler(vstoDocument_BeforeSave);
}

private void vstoDocument_BeforeSave(object sender, SaveEventArgs e)
{
    e.Cancel = true;
}

تحديد ما إذا كان أحد كائنات Office تم توسعته

لتحديد ما إذا كان قد تم بالفعل إنشاء كائن موسع لكائن Office أصلي معين, استخدم الأسلوب HasVstoObject . يقوم هذا الأسلوب بإرجاع true إذا تم إنشاء كائن موسع مسبقاً; وإلا, فإنه يرجع false.

في المشروع الذي يستهدف 3.5 .NET Framework ، الأسلوب HasVstoObject متوفر على مثيلات الأنواع التالية في تجميعات توافق Word وExcel الأساسية:

في المشاريع التي تستهدف .NET Framework 4 ، استخدم الأسلوب Globals.Factory.HasVstoMethod . مرر كائن Word أو Excel الأصلي (مثل Microsoft.Office.Interop.Word.Document أو Microsoft.Office.Interop.Excel.Worksheet) الذي تريد اختباره للكائن الموسع.

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

تكوين مشاريع .NET Framework 3.5 لاستخدام أساليب GetVstoObject و HasVstoObject

عند إنشاء مشروع على مستوى التطبيق يتم تلقائياً تكوين مشروع يستهدف .NET Framework 3.5, المشروع يمكن تكوينه لك لاستخدام الأساليب GetVstoObject و HasVstoObject في ملفات التعليمات البرمجية ThisAddIn.cs أو ThisAddIn.vb. لاستخدام هذه الأساليب في ملف تعليمات برمجية غير ThisAddIn.cs أو ThisAddIn.vb ، يجب إجراء التغييرات التالية في ملف التعليمات البرمجية.

لتعديل ملف التعليمات البرمجية في مشروع Excel لإنشاء كائنات موسعة

  • قم بإضافة عبارات using (لـ C#) أو Imports (لـ Visual Basic) التالية لأعلى ملف التعليمات البرمجية الذي يريد استخدام أساليب GetVstoObject و HasVstoObject .

    Imports Microsoft.Office.Tools.Excel.Extensions
    
    using Microsoft.Office.Tools.Excel.Extensions;
    

لتعديل ملف التعليمات برمجية في مشروع Excel لإنشاء كائنات الموسعة

  • قم بإضافة عبارات using (لـ C#) أو Imports (لـ Visual Basic) التالية لأعلى ملف التعليمات البرمجية الذي يريد استخدام أساليب GetVstoObject و HasVstoObject .

    Imports Microsoft.Office.Tools.Word.Extensions
    
    using Microsoft.Office.Tools.Word.Extensions;
    

هذه التغييرات مطلوبة لأن أساليب GetVstoObject و HasVstoObject يتم تطبيقها كـ أساليب موسعة . على الرغم من أنك تستخدم أساليب GetVstoObject و HasVstoObject كما لو كان تم تعريفها في أنواع في تجميعات توافق Excel أو Word الأساسية، فإنهم فى الواقع معرّفون في أنواع من مساحات الأسماء فى Microsoft.Office.Tools.Excel.Extensions و Microsoft.Office.Tools.Word.Extensions لـ Visual Studio Tools لوقت تشغيل Office. و لمزيد من المعلومات حول الأساليب الموسعة ، راجع أساليب ملحق (C# البرمجة الدليل) و أساليب ملحق (Visual Basic).

راجع أيضًا:

المبادئ

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

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

الحصول على كائنات موسّعة من كائنات Office أصلية في تخصيصات على مستوى المستند

موارد أخرى

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

نظرة عامة على العلامات الذكية

نماذج تطوير Office وإرشادات تفصيلية