TOP

VBA-الدرس 12.1. نماذج المستخدم (UserForm)

YouLibreCalc for Excel logo

كائن UserForm هو نافذة أو مربع حوار يمثل جزءًا من واجهة مستخدم التطبيق.

UserForm يسمح لك بإنشاء نوافذ أو مربعات حوار في مشروعك. في النموذج ، يمكنك رسم عناصر التحكم ويمكنك رؤيتها.

Userforms لها خصائص تحدد مظهرها ، مثل الموضع والحجم واللون وجوانب سلوكها.

عند تطوير النموذج:

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

  • إنشاء نموذج (UserForm)

    لإضافة UserForm ، نحتاج إلى فعل الشيء نفسه عندما نضيف وحدة نمطية جديدة:

    بعد ذلك ، سيظهر النموذج (UserForm) وشريط الأدوات (Toolbox):

    إذا كنت لا ترى نافذة الخصائص (Properties) ، فتأكد من عرضها ثم ابدأ بتحرير الاسم UserForm (حتى يمكنك العثور عليه بسهولة لاحقًا):

    النموذج (UserForm) له أحداثه الخاصة ، تمامًا مثل المصنف أو الورقة. لإضافة حدث ، انقر نقرًا مزدوجًا فوق UserForm.

    لنقم الآن بإنشاء حدثين لنرى كيف يعمل هذا. سيحدد الحدث الأول الحجم الأولي لـ UserForm وسيزيد الحدث الثاني حجمه بمقدار 50 بكسل عندما ينقر المستخدم.

    سيتم إطلاق الحدث UserForm_Initialize عند بدء UserForm:

    Private Sub UserForm_Initialize()
        my_userform.Height = 100
        my_userform.Width  = 100
    End Sub
    

    لتبسيط الكود ، يمكننا استخدام Me بدلاً من الاسم UserForm (لأن هذا الرمز موجود في UserForm الذي نعمل معه):

    Private Sub UserForm_Initialize()
        Me.Height = 100
        Me.Width  = 100
    End Sub
    

    سيحدث الحدث الثاني عندما ينقر المستخدم على UserForm:

    Private Sub UserForm_Initialize()
        Me.Height = 100
        Me.Width  = 100
    End Sub
    
    Private Sub UserForm_Click()
        Me.Height = Me.Height + 50
        Me.Width  = Me.Width + 50
    End Sub
    

    إطلاق النموذج (UserForm)

    لتشغيل UserForm في إجراء ، استخدم إظهار:

    Sub show_userform()
         my_userform.Show
    End Sub