![]() |
برنامج اكسل و تطبيقات الفيجوال بيزيك - الدرس الثاني Excel & VBA applications_ Lesson no. 2 إعداد : محمد طاهر |
الدرس الثاني
:
التعرف علي محرر
VBE (Visual Basic Editor) :
حتي اصدار اكسيل
95
كان الكود البرمجي يظهر كورقة منفصلة فى كتاب العمل
Workbook
و
لكن بدءا من
الاصدار 97 أصبح عليك أن تستخدم مصحح
VBE
حتي تستطيع أن تري الأقسام البرمجية ،
علما بأنها لا تزال تخزن فى ملفات كتاب العمل و لكن لا يمكن التعامل
معها حتي
تستخدم ال
VBE
لتشغيل
محرر
VBE
هناك 3 طرق
1-
اضغط علي
ALT + F11
2-
من قائمة
Tools --, Macros ---, Visual Basic Editor
3-
اختيار اليقونة
الخاصة ب
VBE
من
شريط الأدوات
هذا بالطبع و أنت داخل برنامج الاكسيل
بعد فتح ال
VBE
نلاحظ أن هناك خمسة أجزاء رئيسية له
1-
قضيب القوائم
2-
قضبان الأدوت
Toolbars
3-
نافذة مستكشف المشروع
Project Explorer
4-
نافذة الكود
Code Window
5-
النافذة المباشرة
Immediate Window
الجزئين الأول و الثاني لا جديد فيهما علي مستخدم الاكسيل سوي
اختلاف المحتويات عن مثيليهما فى برنامج الاكسيل
التعامل مع مستكشف المشروعات
Project Explorer
اذا
لم يكن المستكش مفتوحا فى أقصي يسار الشاشة اضغط
CTR+R
لفتحه . نلاحظ ان كل كتاب
عمل اكسيل أو أي
Add-in
تكون مفتوحة تعتبر مشروعا بذاتها.
يمكن التفكير فى
المشروع ك كتجميع لمجموعة من الأشياء
Objects
و
يمكن اظهار محتويات المشروع (توسيعه
)
بالضغط علي ال ( + ) و ضغط أو اخفاء المحتويات بالضغط علي
)- )
ملحوظة
:
لتوسيع مشروع محمي بكلة مرور لا بد من معرفة هذه الكلمة
و التي يمكن اضافتها من
Tools --, Project Properties --, Protection
و
منه أيضا يتم تحديد اذا ما كان يسمح
باظهار الكود أم لا ( يظهر فقط باستخدام كلمة السر
)
و عادة ما يتكون
المشروع من جزء خاص بالأكواد المخصصة لكل ورقة عمل
Worksheet
بالاضافة الي جزء
للأكواد المخصصة لملف العمل ككل و يمكن اضافة
Modules
و
Class Modules
و
Forms
داخل
كل مشروع كما سيلي بالتفصيل لاحقا
.
و لكن مبدئيا لاضافة قسم برمجي
Module
يجب اختيار اسم المشروع أولا من مستكشف المشروعات ثم
Insert --, Module
أو
نفس
الخطوات من القائمة المختصرة بعد اختيار المشروع نختار
Module
من
قائمة
Insert
لحذف قسم برمجي نختاره ثم نختار
Remove
من
قائمة
File
ثم
نحدد ما اذا كنا
نرغب فى تصديره قبل حذفه ام لا
لاستيراد ملف نفعل العكس : من
File
نختار
Import
و
ذلك بعد اختيار المشروع الذي نريد الاستيراد اليه
النافذة المباشرة
Immediate Window
هي مفيدة جدا لاختبار الكود و قد لا تكون مرئية و لاظهارها
نضغط
CTR+G
نافذة الكود
تسمي أحيانا
Module Window
و
هي تتحوي
الكود الخاص بكل جزء من المشروع ، و لكل جزء فى المشروع نافذة الكود
الخاصة به و
التي تظهر بالضغط ضغطة مزدوجة علي هذا الجزء فى نافذة مستكشف
المشروعات
و نافذة
الكود يمكن أن تحوي علي 4 أنواع من الاجراءات
:
1-
الاجراءات الفرعية
: Sub Procedures
و هي مجموعة من الاجراءات التي تنفذ فعلا
2-اجراءات
الوظائف
: Function Procedures
و هي مجوعة من ااجراءات التي تعيد قيمة او أكثر مثل الدالة
sum
و التي تجمع أكثر من قيمة و تعيد مجموعها
3-الاعلانات
: Declarations
و هو معلومات تعطيها للغة ال
VBA
عن المتغيرات التي ستستخدمها مثل نوع البيانات لهذا المتغير هل هو نص أم رقم أم
...
4-
اجراءات المواصفة
: Property Procedure
و هي اجراءات خاصة تستخدم فى حالة ال
Class Module
و ألان بعد هذه المقدمة لنبدأ
بمثال بسيط لاستخدام ال
VBA
في
برنامج ال
Excel
لكتابة الكود فى قسم برمجي
Module
هناك طريقتان اما الكتابة و اما التسجيل
الطريقة الأولي : الكتابة
أضف قسم برمجي جديد
Module
كما سبق و بداخله اكتب
:
Sub
Hellomsg()
TryAgain:
Msg = "Is ArabTeam2000 Your Favorite Programming Site ?"
Ans = MsgBox(Msg, vbYesNo)
If
Ans = vbNo
Then
MsgBox "Why it is not ?????, Try Again, You Must Say Yes!!!"
GoTo TryAgain
Else
MsgBox "Good Answer !! "
End If
End Sub
أو انسخ الكود من هنا و الصقه فى
الموديول
لتشغيل الكود
قف داخل ال
Sub
بالمؤشر
اضغط علي
F5
أو
Run --, Sub
أو
اختر أيقونة
Run
من
شريط الأدوات القياسي
هذا و أنت
فى نافذة الكود
أو أغلق نافذة الكود ز توجه الي ملف ال
Excel
ثم
اضغط
ALT+F8
أو اختار
Tools, Macro, Macros
ثم اختار
Run
بعد اختيار اسم الSub
فستحصل علي نفس النتيجة و هذا كله عن طريق تشغيل ال
Sub
الموجودة فى القسم
البرمجي
Module1
و الآن دعونا نحلل ما كتبنا فى هذا الكود
1-
علان الاجراء ( اسم الجراء
)
Sub Hellomsg()
2-
تخصيص مكان يمكن للكود اعادة التنفيذ اليه لكي نعيد تنفيذ جزء من
الكود
TryAgain:
3-
تخصيص قيمة للتغيرات
Msg, Ans
4-
استخدام الدالة
Msgbox
و الاستفادة بناتج استخدامه
(
الثوابت المبنية
VByes, VBno )
فى تحديد الرسالة التي تظهر و تحديد هل نعود الي مكان محدد فى الكود أم لا و ذلك
باستخدام التعبير
If, Then, Else ,End if
5-
نهاية الSub
و نلاحظ أن فى هذا الكود مالم تجب ب(نعم) سيظل الكود يعود بك الي
النقطة المرجعية
TryAgain:
حتي نختار ( نعم
)
يمكن عمل مفتاح مختصر
لتشغيل لاجراء البرمجي و ذلك من خلال
اضغط
ALT+F8
أو اختار
Tools, Macro, Macros
ثم اختار اسم القسم البرمجي ثم اختار
Option
وحدد
CTR+Q
مثلا
و
بذلك يمكن تشغيل لاجراء باستخدام المفتاح المختصر
بعد أن استخدمنا الكود
داخل ملف الاكسيل لابد من تغيير نظام حماية الملف الي
Medium
أو
Low
لأن فى حالة
High
لا
يعمل الكود مطلقا وذلك من
Tools, Macro, Security
و
أقترح عليكم نظام
الحماية المتوسط حيث يسألك عند فتح الملف هل تريد تفعيل الماكرو أم
لا و في حالة
اختيار ( لا ) لا يعمل أي من الأكواد المكتوبة داخل البرنامج
و الغرض من
هذا هو حماية ملفات الاكسيل من الفيروسات المكتوبة ب
VBA
فعليك أن تكون متأكد من
أنك تريد استخدام الكود فى الملف ! و الا فان كنت لا تعلم ما يوجد
فى الملف من كود
فاختار عدم تفعيل الماكرو و استكشف الكود أولا !! لأن بعض الأكواد
المكتوبة ب
VBA
تفعل أفعال مضرة كثيرة و لا يستهان بها
==================================================