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

الخميس، 24 نوفمبر 2016

تصميم برنامج عارض للصور Image Viewer Using VBA

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

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













 الكود المستخدم في تصميم البرنامج :

كليك يمين على اسم ورقة العمل ثم اختر الأمر View Code ثم الصق الكود التالي (لاحظ أن الكود في حدث ورقة العمل وليس في موديول جديد)

Private Sub cmdBrowse_Click()
    'تعريف المتغيرات
    Dim FD As FileDialog
    Dim vImage As Variant
    Dim vItem As Variant
    
    '[Skipper] سطر لتجنب حدوث خطأ حيث يتم الانتقال للنقطة المسماة
    On Error GoTo Skipper
    
    'سطر لفتح نافذة مستعرض الملفات لاختيار مجلد الصور
    Set FD = Application.FileDialog(msoFileDialogOpen)
    
    'بدء التعامل مع نافذة مستعرض الملفات
    With FD
        
        'مسح فلاتر النافذة وهي خاصة بالامتدادات
        FD.Filters.Clear
        
        '[JPG] إضافة امتداد الصور
        FD.Filters.Add "Pictures", "*.jpg"

        'تمكين اختيار أكثر من ملف أو صورة
        .AllowMultiSelect = True

        'الخروج من الإجراء الفرعي في حالة عدم اختيار ملفات
        If .Show = False Then Exit Sub

        'مسح محتويات صندوق القائمة
        ListBox1.Clear
        
        'حلقة تكرارية لكل عنصر من العناصر التي تم اختيارها من نافذة المستعرض
        For Each vItem In .SelectedItems
        
            'إضافة مسار الصورة إلى صندوق القائمة
            ListBox1.AddItem vItem
            
        'الانتقال للعنصر التالي
        Next vItem

        'اختيار أول صورة في القائمة لتكون الصورة الافتراضية
        ListBox1.ListIndex = 0
    
    'انتهاء التعامل مع نافذة المستعرض
    End With

    'الخروج من الإجراء الفرعي
    Exit Sub
    
'نقطة الهروب في حالة حدوث خطأ
Skipper:
    
    'ظهور رسالة للمستخدم تفيد بأنه لم يتم التمكن من تحميل الصور
    MsgBox "Can't Load The Images", vbCritical
End Sub

Private Sub cmdNext_Click()
    'الانتقال للصورة التالية
    If ListBox1.ListIndex < ListBox1.ListCount - 1 Then
        ListBox1.ListIndex = ListBox1.ListIndex + 1
    End If
End Sub

Private Sub cmdPrevious_Click()
    'الانتقال للصورة السابقة
    If ListBox1.ListIndex > 0 Then
        ListBox1.ListIndex = ListBox1.ListIndex - 1
    End If
End Sub

Private Sub cmdReset_Click()
    'مسح محتويات صندوق القائمة وإزالة الصورة الموجودة في أداة الصورة
    ListBox1.Clear
    Image1.Picture = LoadPicture("")
End Sub

Private Sub ListBox1_Click()
    'تحميل الصورة في أداة الصورة من خلال المسار الموجود في نص العنصر المحدد في صندوق القائمة
    Image1.Picture = LoadPicture(ListBox1.Text)
End Sub

كيفية استخدام البرنامج :

قم بالنقر على زر الأمر Browse ، ستظهر لك نافذة المستعرض للملفات ، حدد المجلد الذي يحتوي على الصورة المطلوب عرضها ، ثم حدد الصور ، ستظهر لك قائمة بأسماء ومسارات ملفات الصور في الأداة ListBox1 ، الآن يمكنك استعراض أي صورة بمجرد كليك على المسار الموجود أو يمكنك استخدام زري الأمر Next و Previous للتنقل بين الصور.


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


هناك تعليق واحد:

  1. eToro صفقات التداول المفتوحة في 227,585,248

    حكمة الجموع المتداولون الذين يستخدمون CopyTrader™ من eToro يزيد احتمال أن يحققوا أرباحًا بنسبة 60%

    ردحذف