![]() |
الدرس التاسع: التعامل مع واجهات المستخدم (UserForms) في VBA |
الدرس التاسع: التعامل مع واجهات المستخدم (UserForms) في VBA
مقدمة
في هذا الدرس، سنتعرف على كيفية استخدام واجهات المستخدم (UserForms) في VBA لإنشاء تطبيقات تفاعلية. UserForms هي نوافذ منبثقة تتيح لك إضافة عناصر تفاعلية مثل الأزرار، القوائم المنسدلة، مربعات النصوص، وغيرها من عناصر التحكم التي تساعد المستخدمين على التفاعل مع التطبيق بطريقة سهلة ومرنة.
سوف نغطي كيفية إنشاء واجهة مستخدم باستخدام UserForms في كل من Excel و Access، وكيفية إضافة التحكمات وتخصيصها لاحتياجاتك.
1. إنشاء واجهة مستخدم (UserForm) في Excel باستخدام VBA
في Excel، يمكنك استخدام UserForms لإنشاء واجهات المستخدم الخاصة بك لتسهيل التفاعل مع البيانات.
1.1 إنشاء UserForm جديد
- افتح Excel.
- اضغط على Alt + F11 لفتح محرر VBA.
- في الشريط الجانبي، اضغط بزر الفأرة الأيمن على VBAProject (اسم الملف)، اختر Insert ثم UserForm.
- ستظهر نافذة جديدة UserForm، يمكنك تخصيصها بإضافة عناصر التحكم (مثل الأزرار، مربعات النصوص، القوائم المنسدلة) من صندوق الأدوات.
1.2 إضافة عناصر تحكم (Controls) إلى UserForm
إليك كيفية إضافة بعض العناصر الأساسية التي يمكن استخدامها في UserForm:
- TextBox: لاستخراج نص من المستخدم.
- CommandButton: لإضافة زر لتنفيذ إجراءات معينة.
- ComboBox: لاختيار قيمة من قائمة منسدلة.
- Label: لعرض نص ثابت في واجهة المستخدم.
شرح الكود:
UserForm1.Show
: يقوم هذا السطر بإظهار UserForm1 التي أنشأناها في الخطوات السابقة.
1.3 إضافة كود للتحكم في عناصر UserForm
لنأخذ مثالًا بسيطًا على كيفية التعامل مع TextBox و CommandButton داخل UserForm.
- أضف TextBox إلى UserForm، ثم أضف CommandButton.
- اضغط مزدوجًا على الزر (CommandButton) لفتح نافذة الكود الخاصة به.
- اكتب الكود التالي:
شرح الكود:
TextBox1.Value
: يسترجع النص المدخل من TextBox.MsgBox "لقد كتبت: " & userInput
: يعرض النص المدخل في رسالة منبثقة.
1.4 تخصيص تنسيق UserForm
يمكنك تخصيص مظهر UserForm بشكل كامل عن طريق ضبط الخصائص مثل الألوان، الخطوط، والأبعاد. على سبيل المثال:
شرح الكود:
Me.Caption
: يحدد عنوان UserForm.Me.Width
وMe.Height
: لضبط حجم UserForm.Me.BackColor
: لتحديد لون الخلفية.CommandButton1.BackColor
: لتحديد لون الزر.
2. إنشاء UserForm في Access باستخدام VBA
يمكنك أيضًا استخدام UserForms في Access لإنشاء واجهات تفاعلية للمستخدمين، حيث تكون النماذج في Access مشابهة لـ UserForms في Excel ولكنها تعتمد بشكل أكبر على استعلامات البيانات.
2.1 إنشاء نموذج (Form) في Access
- افتح Access.
- اختر Create من الشريط العلوي، ثم اختر Blank Form.
- في Design View، يمكنك إضافة عناصر تحكم مثل الأزرار، مربعات النصوص، القوائم المنسدلة، إلخ.
2.2 إضافة كود للتحكم في عناصر النموذج
لنأخذ مثالًا على Button و TextBox في Access:
- أضف TextBox وزر CommandButton إلى النموذج.
- اضغط بزر الفأرة الأيمن على الزر ثم اختر Build Event.
- اكتب الكود التالي في VBA:
شرح الكود:
Me.TextBox1.Value
: يسترجع النص المدخل في TextBox داخل النموذج.MsgBox
: يعرض النص في رسالة منبثقة.
2.3 تخصيص مظهر النموذج
مثل Excel، يمكنك تخصيص Forms في Access عن طريق ضبط الخصائص مثل الألوان والخطوط.
شرح الكود:
Me.BackColor
: يحدد لون الخلفية للنموذج.Me.TextBox1.FontSize
: يحدد حجم الخط في TextBox.Me.TextBox1.ForeColor
: يحدد لون النص داخل TextBox.
3. التعامل مع الأحداث المختلفة في UserForms و Forms
تدعم UserForms و Forms في Excel و Access العديد من الأحداث التي يمكن أن تستخدمها لتحسين التفاعل مع المستخدم. إليك بعض الأحداث الشائعة:
- Click: يحدث عند النقر على عنصر تحكم.
- Initialize: يحدث عند تحميل الـ UserForm أو الـ Form.
- Change: يحدث عند تغيير قيمة عنصر تحكم.
- Exit: يحدث عند مغادرة العنصر.
شرح الكود:
TextBox1_Change
: يتم تفعيل هذا الحدث عندما يتم تغيير النص داخل TextBox.
خاتمة
في هذا الدرس، تعلمنا كيفية استخدام UserForms لإنشاء واجهات تفاعلية باستخدام VBA في Excel و Access. تعلمنا كيفية إضافة عناصر تحكم مثل TextBox و CommandButton، وتخصيص المظهر، والتفاعل مع الأحداث المختلفة.
في الدرس القادم، سنتناول كيفية التعامل مع الملفات الخارجية مثل قراءة وكتابة البيانات إلى ملفات نصية و Excel و Access باستخدام VBA.