إجمالي مرات مشاهدة الصفحة

السبت، 29 أكتوبر 2016

عرض الصور على الفورم من خلال الليست بوكس Display Pictures In ListBox On UserForm

السلام عليكم ورحمة الله وبركاته

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


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

خطوات العمل :
* قم بإدراج فورم من خلال قائمة Insert ثم UserForm
* قم بإظهار صندوق الأدوات إذا لم يكن ظاهراً لديك من خلال قائمة View ثم Toolbox
* قم برسم أداة الليس بوكس ListBox كما هو موضح بالصورة التالية

* قم برسم أداة الصورة Image كما هو موضح بالصورة التالية

* الخطوة الأخيرة ضع الكود التالي في حدث الفورم (كليك يمين على اسم الفورم من نافذة المشروع ثم اختر View Code ثم الصق الكود)

Private Sub UserForm_Initialize()
    'الإعلان عن متغير من النوع نطاق
    Dim Rng As Range

    'لآخر خلية بالعمود [A2] تعيين قيمة للمتغير ليساوي النطاق من أول الخلية
    Set Rng = Range("A2:A" & Cells(Rows.Count, 1).End(xlUp).Row)

    'تعبئة الليست بوكس بقيم النطاق أي بالأسماء
    ListBox1.List = Rng.Value
End Sub

Private Sub listBox1_Click()
    'الإعلان عن المتغير من النوع النصي ليحمل مسار الصور
    Dim strPath         As String

    'تعيين مسار المجلد الذي يحتوي على الصور
    strPath = ThisWorkbook.Path & "\Photos\"

    'جملة لتجنب حدوث خطأ في حالة عدم وجود اسم معين
    On Error Resume Next

    'إظهار صورة في أداة الصورة ومسار الصورة كما هو موضح
    'يتم تحميل الصورة من مسار المجلد الذي يحتوي الصـور
    'مضاف إليه اسـم الصورة بالامتداد الخاص بها
    Image1.Picture = LoadPicture(strPath & ListBox1.Value & ".jpg")

    'في حالة عدم حدوث خطأ يتم الخروج من الإجراء هنا
    If Err = 0 Then Exit Sub

    'أما إذا حدث خطأ تظهر في أداة الصورة صورة يتم وضعها
    'تشير إلى أنه لا توجد صورة لهذا الشخص
    Image1.Picture = LoadPicture(strPath & "NoPhoto.Jpg")
End Sub


إعداد / ياسر خليل أبو البراء

هناك 5 تعليقات:

  1. بارك الله فيك استاذ ياسر
    ربنا يحفظك ويجعل اعمالك في ميزان الحسنات

    ردحذف
  2. ربنا يحفظك أخي الكريم وجزيت خيراً على دعائك الطيب المبارك

    ردحذف
  3. اتمنى لك ان تنتفع بعلمك كما الزميل الاخ " يحي حسين " بمعنى ان تستثمر علمك ويكون له مردود مادي كبير ، ماذا ينقصك علم وخلق موجودين ، ويزيد عليهم الدم الخفيف

    ردحذف
  4. ربنا يبارك فيك يا جدو ، وحفظك الله من كل سوء
    ما على الإنسان سوى السعي وليس عليه إدراك النجاح
    والحمد لله أن غني بحب الناس لي فهذا أفضل بكثير من كنوز الدنيا

    ردحذف
  5. السلام عليكم ورحمة الله وبركاته استاذ ياسر
    ممكن حضرتك عنوان مراسله خاص بك ارسل لحضرتك ملف للمساعده

    ردحذف