مشاركة عبر


الإرشادات التفصيلية: برمجة مقابل أحداث عنصر تحكم NamedRange

ينطبق على

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

نوع المشروع

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

إصدار Microsoft Office

  • Excel 2007

  • Excel 2010

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

خلال هذه المعاينة ، سوف تتعلم كيفية :

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

  • البرمجة مقابل أحداث التحكم NamedRange .

  • اختبار المشروع الخاص بك .

ملاحظة

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

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

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

-

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

إنشاء المشروع

في هذه الخطوة، ستقوم بإنشاء مشروع مصنف Excel باستخدام Visual Studio.

لإنشاء أحد المشروعات الجديدة

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

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

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

لاضافة نطاق الي ورقة العمل الخاصة بك

  1. تحقق من أن المصنف My Named Range Events.xls مفتوح في مصمم Visual Studio مع كون Sheet1 معروضا.

  2. من التبويب عناصر تحكم Excel من مربع الأدوات ، اسحب عنصر التحكم NamedRange إلى الخلية A1 فى Sheet1.

    وسوف يظهر مربع الحوار إضافة عنصر تحكم النطاق المسمي .

  3. تحقق من ظهور $ A $ 1 في مربع النص القابل للتحرير و أن الخلية A1 محددة . إذا لم تكن محددة، فانقر فوق الخلية A1 لتحديدها.

  4. انقر فوق موافق.

    أصبحت الخلية A1 نطاقاً يسمى namedRange1. لا توجد إشارة مرئية على ورقة العمل ولكن namedRange1 يظهر في مربع الاسم (أعلى ورقة العمل على الجانب الأيسر) عند تحديد الخلية A1.

  5. قم باضافة عنصر تحكم NamedRange آخر إلى الخلية B3.

  6. تحقق من ظهور $ B $ 3 في مربع النص القابل للتحرير و أن الخلية B3 محددة . إذا لم تكن محددة، فانقر فوق الخلية B3 لتحديدها.

  7. انقر فوق موافق.

    أصبحت الخلية B3 نطاقاً يسمى namedRange2.

لإضافة النص إلى ورقة العمل الخاصة بك

  1. اكتب النص التالي في الخلية A1:

    هذا مثال لعنصر تحكم NamedRange .

  2. في الخلية A3 (إلى يسار namedRange2) ، اكتب النص التالي:

    الأحداث

في المقاطع التالية سوف تقوم بكتابة التعليمات البرمجية التي تقوم بإدراج النص في namedRange2 و تعديل خصائص عنصر التحكم namedRange2 استجابةً للأحداث BeforeDoubleClick ، Change ، و SelectionChange لـ namedRange1.

إضافة التعليمات البرمجية لتستجيب للحدث BeforeDoubleClick

لإدراج نص في NamedRange2 استناداً إلى الحدث BeforeDoubleClick

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

  2. قم باضافة التعليمات البرمجية حتي يبدو معالج الحدث namedRange1_BeforeDoubleClick كالتالي:

    Private Sub NamedRange1_BeforeDoubleClick( _
        ByVal Target As Microsoft.Office.Interop.Excel.Range, ByRef Cancel As Boolean) _
        Handles NamedRange1.BeforeDoubleClick
    
        With Me.NamedRange2
            .Value2 = "The BeforeDoubleClick event occurred."
            .Font.Color = System.Drawing.ColorTranslator.ToOle(System.Drawing.Color.Red)
            .Font.Italic = True
        End With
    End Sub
    
    private void namedRange1_BeforeDoubleClick(
        Microsoft.Office.Interop.Excel.Range Target, ref bool Cancel)
    {
        this.namedRange2.Value2 = "The BeforeDoubleClick event occurred.";
        this.namedRange2.Font.Color = System.Drawing.ColorTranslator.ToOle(System.Drawing.Color.Red);
        this.namedRange2.Font.Italic = true;
    }
    
  3. في C# ، يجب عليك إضافة معالجات الأحداث للنطاق المسمي كما يظهر فى الحدث Startup أدناه. للحصول على معلومات حول إنشاء معالجات أحداث راجع كيفية القيام بما يلي: إنشاء معالجات أحداث في مشاريع Office.

    this.namedRange1.BeforeDoubleClick += new Microsoft.Office.Interop.Excel.
        DocEvents_BeforeDoubleClickEventHandler(namedRange1_BeforeDoubleClick);   
    
    this.namedRange1.Change += new Microsoft.Office.Interop.Excel.
        DocEvents_ChangeEventHandler(namedRange1_Change);
    
    this.namedRange1.SelectionChange +=new Microsoft.Office.Interop.Excel.
        DocEvents_SelectionChangeEventHandler(namedRange1_SelectionChange);
    

إضافة التعليمات البرمجية لتستجيب لحدث التغيير

لإدراج نص في NamedRange2 استناداً إلى حدث التغيير

  • قم باضافة التعليمات البرمجية حتي يبدو معالج الحدث NamedRange1_Change كالتالي:

    Private Sub NamedRange1_Change(ByVal Target As Microsoft.Office.Interop.Excel.Range) _
        Handles NamedRange1.Change
    
        With Me.NamedRange2
            .Value2 = "The Change event occurred."
            .Font.Color = System.Drawing.ColorTranslator.ToOle(System.Drawing.Color.Blue)
            .Font.Italic = False
        End With
    End Sub
    
    private void namedRange1_Change(Microsoft.Office.Interop.Excel.Range Target)
    {
        this.namedRange2.Value2 = "The Change event occurred.";
        this.namedRange2.Font.Color = System.Drawing.ColorTranslator.ToOle(System.Drawing.Color.Blue);
        this.namedRange2.Font.Italic = false;
    }
    

    ملاحظة

    لأن النقر المزدوج فوق خلية في نطاق Excel يؤدى للدخول فى وضع التحرير، يحدث الحدث Change عند نقل التحديد خارج النطاق حتى إذا لم يحدث أي تغييرات على النص.

إضافة التعليمات البرمجية لتستجيب للحدث SelectionChange

لإدراج نص في NamedRange2 استناداً إلى الحدث SelectionChange

  • قم بإضافة التعليمات البرمجية إلى معالج الحدث NamedRange1_SelectionChange بحيث يبدو مثل التالي.

    Private Sub NamedRange1_SelectionChange(ByVal Target As Microsoft.Office.Interop.Excel.Range) _
        Handles NamedRange1.SelectionChange
    
        With Me.NamedRange2
            .Value2 = "The SelectionChange event occurred."
            .AddComment("SelectionChange always occurs before BeforeDoubleClick.")
            .Font.Color = System.Drawing.ColorTranslator.ToOle(System.Drawing.Color.Black)
        End With
    End Sub
    
    private void namedRange1_SelectionChange(Microsoft.Office.Interop.Excel.Range Target)
    {
        this.namedRange2.Value2 = "The SelectionChange event occurred.";
        this.namedRange2.AddComment("SelectionChange always occurs before BeforeDoubleClick.");
        this.namedRange2.Font.Color = System.Drawing.ColorTranslator.ToOle(System.Drawing.Color.Black);
    }
    

    ملاحظة

    لأن النقر المزدوج فوق خلية في نطاق Excel تتسبب في انتقال التحديد إلى النطاق، يقع الحدث SelectionChange قبل وقوع الحدث BeforeDoubleClick .

اختبار التطبيق

الآن يمكنك اختبار المصنف الخاص بك للتحقق من ان النص الذي يصف أحداث عنصر التحكم NamedRange تم إدراجه في نطاق آخر مسمى عندما يتم رفع الأحداث.

لاختبار مستندك

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

  2. ضع رأس المؤشر في namedRange1 ، ثم تحقق من أن النص الخاص بحدث SelectionChange تم إدراجه و تم إدراج تعليق في ورقة العمل.

  3. انقر نقراً مزدوجاً داخل namedRange1 ، ثم تحقق من أن النص الخاص بالأحداث BeforeDoubleClick تم إدراجه بالنص الأحمر المائل في namedRange2.

  4. انقر خارج namedRange1 ولاحظ أن حدث التغيير يحدث عند إنهاء وضع التحرير حتى لو لم يتم أي تغيير للنص.

  5. قم بتغيير النص الموجود داخل namedRange1.

  6. انقر خارج namedRange1 ، ثم تحقق من أن النص الخاص بالحدث Change تم إدراجه مع النص الازرق إلى namedRange2.

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

تُظهر هذه الإرشادات التفصيلية أساسيات البرمجة مقابل أحداث التحكم NamedRange . المكتب مشاريع استخدم certificates إلى verify the الناشر.

راجع أيضًا:

المهام

كيفية القيام بما يلي: تغيير حجم عناصر تحكم NamedRange

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

كيفية القيام بما يلي: إنشاء معالجات أحداث في مشاريع Office

المبادئ

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

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

عنصر تحكم NamedRange

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