مشاركة عبر


مخططات و بيانات XML في تخصيصات على مستوى المستند

هامتعيين المعلومات في ترتيب هو الموضوع فيما يتعلق ‏‫برنامج Microsoft الكلمة هو المقدمة خصيصا للفائدة واستخدام الأفراد والشركات الذين تقع خارج الولايات المتحدة والمناطق الخاصة به أو الذين يتم استخدام أو تطوير الالبرامج التي تعمل تشغيل منتجات ‏‫برنامج Microsoft الكلمة التي كانت مرخصة من قبل Microsoft Office 2010 Suite قبل يناير 2010، عند تمت إزالته Microsoft Office 2010 Suite تطبيق لوظائف معينة ذات صلة المخصصة XML من ‏‫برنامج Microsoft الكلمة. هذه المعلومات فيما يتعلق Microsoft Office 2010 Suite الكلمة قد لا يتم قراءة أو المستخدمة من قبل الأفراد أو الشركات في الولايات المتحدة أو المناطق الخاصة بها والذين يستخدمون، أو تطوير البرامج التشغيل هذه في ‏‫برنامج ‏‫برنامج Microsoft الكلمة المنتجات التي كانت مرخصة من قبل Microsoft Office 2010 Suite بعد 10 يناير 2010،؛ هذه المنتجات لا ستسلك نفس كـ المنتجات المرخصة قبل ذلك التاريخ أو purchكـed ومرخصة للاستخدام خارج الولايات المتحدة.

ينطبق على

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

نوع المشروع

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

إصدار Microsoft Office

  • Excel 2007 و Excel 2010

  • Word 2007 و Word 2010

يوفر Microsoft Office Excel وMicrosoft Office Word القدرة على تعيين مخططات إلى مستنداتك. يمكن لهذه الميزة تبسيط استيراد وتصدير XML داخل وخارج المستند.

ملاحظة

لا يمكنك استخدام مخططات XML متعددة الأجزاء في حلول Excel.

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

الكائنات التي يتم إنشاؤها عندما تكون المخططات مرفقة إلى مصنفات Excel

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

هناك كائنان اثنان رئيسيان:

  • مخطط XML (ملف XSD). لكل مخطط في المصنف، يقوم Visual Studio بإضافة مخطط إلى المشروع. يظهر هذا كعنصر مشروع بامتداد XSD في مستكشف الحلول.

  • فئة DataSet مكتوبة. يتم إنشاء هذه الفئة استنادًا إلى المخطط. فئة مجموعة البيانات هذه مرئية في عرض الفئة.

الكائنات التي يتم إنشاؤها عندما تكون عناصر المخطط معينة إلى أوراق عمل Excel

عند تعيين عنصر مخطط من جزء مهام مصدر XML إلى ورقة عمل، يقوم Visual Studio تلقائياً بإنشاء عدة كائنات ثم يقوم بإضافتها إلى مشروعك:

  • عناصر التحكم. لكل كائن معيّن في المصنف، يتم إنشاء عنصر تحكم XmlMappedRange (لعناصر مخطط غير مكررة) أو عنصر تحكم ListObject (لعناصر مخطط مكررة) في نموذج البرمجة. يمكن حذف عنصر التحكم ListObject فقط عن طريق حذف المخططات والكائنات المعينة من المصنف. لمزيد من المعلومات حول عناصر التحكم ، راجع نظرة عامة حول العناصر المضيفة و عناصر تحكم المضيف.

  • مصدر الربط. عند إنشاء XmlMappedRange عن طريق تعيين عنصر مخطط غير مكرر إلى ورقة العمل، يتم إنشاء BindingSource ويتم ربط عنصر التحكم XmlMappedRange إلى BindingSource. يجب ربط BindingSource إلى مثيل لمصدر البيانات يطابق المخطط المعين إلى المستند، مثل مثيل من الفئة المكتوبة DataSet التي تم إنشاؤها. قم بإنشاء الربط بواسطة تعيين الخاصيتين DataSource وDataMember، التي تعرض في النافذة خصائص.

    ملاحظة

    لا يتم إنشاء BindingSource للكائنات ListObject. يجب ربط ListObject إلى مصدر البيانات يدويًا بواسطة إعداد الخاصيتين DataSource وDataMember في النافذة خصائص .

مخططات Office المعينة ونافذة مصادر بيانات Visual Studio

كلا من وظيفة المخطط المعيّن لـ Office و نافذة مصادر بيانات ،Visual Studioيمكن أن تساعدك في تقديم البيانات على ورقة عمل Excel لإعداد التقارير أو للتحرير. في كلتا الحالتين يمكنك سحب عناصر البيانات إلى ورقة عمل Excel. كلا الأسلوبين يقوم بإنشاء عناصر تحكم مرتبطة البيانات من خلال BindingSource إلى مصدر بيانات مثل DataSet أو خدمة ويب.

ملاحظة

عندما تقوم بتعيين عنصر مخطط مكرر إلى ورقة عمل، يقوم Visual Studio بإنشاء ListObject. ListObject غير مرتبط بشكل تلقائي إلى البيانات من خلال BindingSource. يجب ربط ListObject إلى مصدر البيانات يدويًا بواسطة إعداد الخاصيتين DataSource وDataMember في النافذة خصائص .

يعرض الجدول التالي بعض الاختلافات بين الأسلوبين الاثنين.

مخطط XML

النافذة مصادر البيانات

يستخدم واجهة Office.

يستخدم نافذة مصادر البيانات في Visual Studio.

يمكِّن ميزات Office المضمنة من أجل استيراد وتصدير البيانات من ملفات XML.

يجب أن توفر وظيفة استيراد وتصدير برمجيًا.

يجب أن تقوم بكتابة تعليمات برمجية لتعبئة عناصر التحكم المنشأة بالبيانات.

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

السلوك عندما تكون المخططات مرفقة إلى مستندات Word

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

توزيع الحلول التي تتضمن مخططات XML

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

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

' Ensure that the schema is in the library and registered with the document.
Private Function CheckSchema() As Boolean

    Const namespaceUri As String = "http://schemas.contoso.com/projects"
    Dim namespaceFound As Boolean = False
    Dim namespaceRegistered As Boolean = False

    Dim n As Word.XMLNamespace
    For Each n In Application.XMLNamespaces
        If (n.URI = namespaceUri) Then
            namespaceFound = True
        End If
    Next

    If Not namespaceFound Then
        MessageBox.Show("XML Schema is not in library.")
        Return False
    End If

    Dim r As Word.XMLSchemaReference
    For Each r In Me.XMLSchemaReferences
        If (r.NamespaceURI = namespaceUri) Then
            namespaceRegistered = True
        End If
    Next

    If Not namespaceRegistered Then
        MessageBox.Show("XML Schema is not registered for this document.")
        Return False
    End If

    Return True
End Function
// Ensure that the schema is in the library and registered with the document.
private bool CheckSchema()
{
    const string namespaceUri = "http://schemas.contoso.com/projects";
    bool namespaceFound = false;
    bool namespaceRegistered = false;

    foreach (Word.XMLNamespace n in Application.XMLNamespaces)
    {
        if (n.URI == namespaceUri)
        {
            namespaceFound = true;
        }
    }

    if (!namespaceFound)
    {
        MessageBox.Show("XML Schema is not in library.");
        return false;
    }

    foreach (Word.XMLSchemaReference r in this.XMLSchemaReferences) 
    {
        if (r.NamespaceURI == namespaceUri)
        {
            namespaceRegistered = true;
        }
    }

    if (!namespaceRegistered)
    {
        MessageBox.Show("XML Schema is not registered for this document.");
        return false;
    }

    return true;
}

راجع أيضًا:

المهام

كيفية القيام بما يلي: تعيين مخططات إلى مستندات Word داخل Visual Studio

كيفية القيام بما يلي: تعيين مخططات إلى أوراق العمل داخل Visual Studio