مجدى يونس Admin
عدد المساهمات : 3806 تاريخ التسجيل : 22/02/2013 العمر : 70
| موضوع: دروس فى VBA Excel الثلاثاء يناير 09, 2018 8:51 pm | |
| دروس فى VBA Excel الدرس الأول قبل أن نبدأ، دعونا نتأكد من أن الأدوات التي نحتاجها موجودة. إذا كنت تستخدم ( Excel 2007) أو إصدار أعلى click ". Office button, then click Excel Options بالاسفل سيتم إضافة علامة تبويب جديدة وهى Developer سوف نحتاج فى العمل مع التعليمات البرمجية ل VBA ، محرر، يتم تثبيته بشكل افتراضى. يمكنك فتحه عن طريق الضغط على تركيبة مفتاح الاختصار "
Alt+ F11 ": او انقر على الشكل المشار له بالسهم بالصورة السابقة انتهى الدرس الأول اليكم الشرح بالصور _________________ لا تعطيني سمكة ... و لكن علمني كيف أصطاد السمك
عدل سابقا من قبل مجدى يونس في الثلاثاء يناير 09, 2018 9:22 pm عدل 3 مرات | |
|
مجدى يونس Admin
عدد المساهمات : 3806 تاريخ التسجيل : 22/02/2013 العمر : 70
| موضوع: رد: دروس فى VBA Excel الثلاثاء يناير 09, 2018 8:57 pm | |
| الدرس الثاني تسجيل الماكرو سنقوم بعمل المثال التالى معا للتعرف على تفاصيل خاصة بالكود والماكرو وأتمنى أن يتم تنفيذه من قبل الدارس أو الراغب فى التعلم المثال - حذف محتويات الأعمدة A و C
- نقل محتويات العمود B الى العمود A
- نقل محتويات العمود D الى العمود C
قم بتعبئة محتويات الأعمده السابقة بأيه بيانات قم بالضغط على "Ok" " Record Macro"
قم بتنفيذ المطلوب يدويا الى أن تنفذ جميع الخطوات بالترتيب
لأن كل ما تفعله يتم تسجيله من قبل اداه تسجيل الماكرو
ثم إضغط على Stop Recording الخطوات بالصور لتسهيل تنفيذ المطلوب بعد تعبئة البيانات قم بالضغط على Record Macro تظهر لنا نافذة 1 - نقوم بكتابه اسم الماكرو
نلاحظ أن اسم الماكرو لا يحتوى على ايه مسافات
ومن الممكن أن نضع علامه ( _ ) بين كلمتين لو اردنا تسمية الماكرو بأسم مكون من كلمتين مثلا
2 – نجد ان هناك كلمه Ctrl + وبجوارها مربع
وتعنى أننا يمكن وضع أى حرف داخل هذا المربع ويكون وسيله لإستدعاء الماكرو فيما بعد لتنفيذ المطلوب وهذا امر غير مطلوب حاليا سيتم توضيح ذلك فيما بعد ان شاء الرحمن بالتفصيل
3 – هناك مستطيل به سهم رأسه الى الأسفل
وتعنى اختيار من متعدد وهنا نقوم بإختيار الملف المراد تسجيل به الماكرو فى حاله ان هناك مثلا عدد ( 2 ) ملف اكسل مفتوحين
4 – وهناك مربع آخر وهو الوصف المختصر لهذا الماكرو الذى سيتم تسجيله وحاليا هذا الأمر غير مطلوب
5 – نقوم بالضغط على زر OK بعد الانتهاء من تنفيذ المطلوب بالكامل
نقوم بالضغط على ايقاف التسجيل ملحوظة
قد تظهر علامه تسجيل الماكرو بأسفل الشيت نقوم بالضغط عليها لتسجيل الماكرو
ثم بعد الانتهاء من تنفيذ المطلوب نقوم بالضغط على ايقاف التسجيل لقد تم تسجيل الماكرو
ونبدأ الآن فى معرفة تفاصيل الكود الذى قمنا بعمل خطواته من خلال عمليه التسجيل ومعرفة بعض الأمور الأساسية والهامه للكود البرمجى
للدخول الى الصفحة التى بها الكود البرمجى والذى تم تسجيله تلقائيا فى موديول
نقوم بالضغط على ALT+F11 معا
تفتح لنا صفحه تسمى صفحه محرر الأكواد
الملاحظات :
1- يبدأ الكود بكلمه Sub ثم اسم الماكرو ثم هذين القوسين المغلقين ( )
الكود دائما يبدأ بذلك الأمر وخاصة إذا كان داخل موديول
وهناك أكواد تكتب ولا تسجل عن طريق الماكرو تبدأ بخلاف ذلك وتلك التى توجد داخل حدث الصفحة ( الشيت ) أو داخل حدث الملف
This Workbook
وسيأتى الحديث عن ذلك بالتفصيل فيما بعد ان شاء الرحمن داخل تلك الدروس
2 – هناك داخل الكود علامه (( ' )) وهى دائما تكون مصبوغة باللون
الأخضر وتسمى علامه اقتباس أحادية تشير الى تعليق يمكنك كتابته يدويا
بأى لغة
الفائدة منها : وهذا التعليق يكون خاص إما بشرح جزء من الكود أو تشير الى تعليمات برمجيه معينه
يتجاهلها الكود تماما أثناء عملية تنفيذ الكود وليس لها اى تأثير مطلق على الكود
3 – ينتهى الكود بجمله End Sub
وهذه الجمله هامه جدا لإنهاء عمل الكود
4 – يمكننا هنا ونحن داخل الموديول الذى به الكود البرمجى الذى تم تسجيله تلقائيا بناء على أننا قمنا بتنفيذ الخطوات الخاصة بالمثال يدويا
· تغيير اسم الكود الى اى اسم .. اى نقوم بتغيير كلمه Module1 الى اى كلمه أخرى قد تكون معبرة عن طبيعة عمل الكود أو حتى يمكننا وضع اسمنا باللغة الإنجليزية طبعا دون ترك مسافات ويمكننا الاستعانة بوضع تلك العلامه ( _ ) التى تسمى Under Scour
يمكننا التعديل والإضافة داخل الكود البرمجى ايضا فى تغيير اسماء الأعمده والمدى وخلافه أو أى أمر آخر كما يتراء لنا وسيأتى فيما بعد ذكر هذا الأمر فى الدروس القادمة بشىء من التفصيل
_________________ لا تعطيني سمكة ... و لكن علمني كيف أصطاد السمك | |
|
مجدى يونس Admin
عدد المساهمات : 3806 تاريخ التسجيل : 22/02/2013 العمر : 70
| موضوع: رد: دروس فى VBA Excel الثلاثاء يناير 09, 2018 9:11 pm | |
| تابع الدرس الثانى ندخل الى مرحله تنفيذ الماكرو الذى قمنا بتسجيله ولها خطوات معينة كالتالى :
نذهب الى الشيت ثم نضغط على Insert
تظهر لنا نافذة نختار منها Button
ثم نقوم بوضعه داخل الشيت
ثم نقوم بالضغط على الزر كليك يمين
ونختار تعيين ماكرو كالتالى
تظهر لنا نافذة
نختر منها اسم الماكرو وهنا قد اسميته MZM_ELSHRIEF
ثم نختار This Workbook
ثم نضغط على OK
كالتالى
الآن يمكنك تنفيذ الماكرو الذى قمنا بتسجيله
بمجرد الضغط على الزر أى Button يمكنك أيضا تغيير اسم الزر اذا اردت ذلك كالتالى
بالضغط كليك يمين على الزر
تظهر لك نافذة اختر منها اضافة نص
حفظ الملف
عند حفظ الملف تظهر لنا رساله نضغط على زر NO
فتظهر لنا رساله أخرى نضغط على زر Yes فتظهر لنا نافذة نقوم بإختيار من Save as type
excel Macro-Enbled Workbook
ثم نضغط على Save
الخيار التالى
فتكون أيقونه الملف
انتهى الدرس الثانى _________________ لا تعطيني سمكة ... و لكن علمني كيف أصطاد السمك | |
|
مجدى يونس Admin
عدد المساهمات : 3806 تاريخ التسجيل : 22/02/2013 العمر : 70
| موضوع: رد: دروس فى VBA Excel الأربعاء يناير 10, 2018 5:48 am | |
| _________________ لا تعطيني سمكة ... و لكن علمني كيف أصطاد السمك | |
|
مجدى يونس Admin
عدد المساهمات : 3806 تاريخ التسجيل : 22/02/2013 العمر : 70
| موضوع: رد: دروس فى VBA Excel الخميس يناير 11, 2018 1:44 pm | |
| الدرس الثالث إعدادات الأمان لغة VBA هي لغة برمجة
وهذا يعنى أنه يمكن لبعض المبرمجين أن يستغلها استغلالا سيئا فى إنشاء برامج ضاره تضر بالحاسب الآلى الذى يستخدم هذا البرنامج
وعليه قررت شركة مايكروسوفت إضافة خاصية الأمان لحماية المستخدم
وللدخول إلى خيارات الأمان نتبع الخطوات التالية :
بأوفيس 2007 وما فوق
نضغط على زر برنامج الأوفيس
ثم نضغط على Excel Option تظهر لنا نافذة
ثم نختار
Trust Center
من القائمة تظهر لنا نافذة أخرى
ثم نضغط على
Trust Center Settings
تظهر لنا نافذة
نجد هنا قسمين بالنافذة الأعلى
الجزء الأول به عدد ( 4 ) اختيارات
ومعناهم كالتالى :
اختيار الخيار الثانى او الثالث
عندما يقوم المستخدم بفتح البرنامج تظهر نافذة الاكسيل وبالضغط على زر Options تظهر لنا نافذة فإن كنا نثق بالبرنامج والمصدر نضغط على الخيار الثانى وهو
Enable this content
ونضغط على OK _________________ لا تعطيني سمكة ... و لكن علمني كيف أصطاد السمك | |
|
مجدى يونس Admin
عدد المساهمات : 3806 تاريخ التسجيل : 22/02/2013 العمر : 70
| موضوع: رد: دروس فى VBA Excel الخميس يناير 11, 2018 1:52 pm | |
| _________________ لا تعطيني سمكة ... و لكن علمني كيف أصطاد السمك | |
|
مجدى يونس Admin
عدد المساهمات : 3806 تاريخ التسجيل : 22/02/2013 العمر : 70
| موضوع: رد: دروس فى VBA Excel الخميس يناير 11, 2018 1:59 pm | |
| الدرس الرابع الرسائل
نتحدث هنا عن استخدام بعض التقنيات التى تجعل استخدامنا للماكرو _ ( برمجه اكسل ) _ أكثر مرونه .. وذات طابع احترافى وأكثر جمالا
وذلك من خلال استخدام الرسائل من خلال كتابة بعض الأكواد البسيطه
السؤال ؟
أين تكتب تلك الأكواد ؟
تكتب تلك الأكواد داخل حدث الشيت
تكتب داخل حدث المصنف
تكتب داخل موديول
تكتب داخل أكواد اليوزر فورم
أى تكتب حسب الحاجه لها على أن تكون داله على الهدف منها سواء كان تحذير من شىء أو طرح سؤال بسيط
مثال ( 1 )
نريد أن نتأكد من أن الطابعه فى وضع التشغيل وإعطاء المستخدم فرصة للتأكد من ذلك مع توقف الماكرو عن العمل الى أن يقرر المستخدم الضغط على زر موافق أو OK
التالى نص الرساله التى ستظهر
كما بالصورة
MsgBox “Please make sure that the printer is switched on”
جدير بالذكر
عند الملاحظة الأولى لشكل الرساله
نجد نص الرساله
ثم زر OK
اذا الإستنتاج هنا يدفعنا الى ذكر سؤال هام لمعرفة كيفية ظهورها بهذا الشكل
س : مما تتكون الرساله ؟ وكيف تكتب ؟
ج : تتكون الرساله من هذه التركيبة التالية
MsgBox (prompt [, buttons] [, title] [, helpfile, context])
السؤال الذى يطرح نفسه هنا
س : ماذا تعنى هذه التركيبة ؟
ج : كالتالى
كلمة Prompt تعنى ان تكون الرساله سريعه أى عند حدوث أمر ما تظهر الرساله سريعا
هناك أيضا أمور يجب ذكرها :
1 - طول الرساله يتكون من 1024 حرف
2 - واذا كانت الرساله تتكون من عده أسطر يجب الفصل بين كل سطر بعلامه (& _ )
3 – هناك معيار هام فى الرسائل عندما مثلا تريد تحذير المستخدم الى ان الطابعه تعمل مع التأكيد على ذلك بزر OK
هنا نستخدم الفواصل وهو امر ضرورى كمثل الرساله التالية
MsgBox “Is the printer on?”, , “Caution!”
نأتى الى القيم الرقمية
التى سبق الإشارة عنها
وبشىء من التفصيل فمثلا إذا كنت تريد القيمة 4 والقيمة 32
يكون النص الذى يكتب فى الكود هكذا
MsgBox Prompt:=”Delete this record?”, Buttons:=36 أو يكتب النص هكذا
MsgBox (Prompt:=”Delete this record?”, Buttons:=vbYesNo + vbQuestion)
وإذا أردنا كتابة الرسالة بالترتيب الخاص بها كما ذكرنا بكيفية كتابة الرساله فتكون هكذا
MsgBox("Text", vbYesNoCancel + vbExclamation + vbDefaultButton2, "Title")
فتظهر الرساله
هنا السؤال يطرح نفسه
هل يمكن كتابة كل هذه الأزرار فى الرساله ؟
الإجابة بالقطع (( لا ))
· فمجموعة القيم من ( 1:5 ) تمثل الأزرار التى ستظهر فى الرساله وعلى حسب ما تريد وتختار
· ومجموعة القيم ( 16,32,48,64 ) تمثل نوع الرساله من كونها استفهام أو تعجب .. الخ وعلى حسب ما تختار
· ومجموعة القيم ( 0,256,512,768 ) تعنى أى الأزرار
YES أو NO أو CANCEL تريدها أن تكون الإفتراضية
للمستخدم أى المضيئة
يمكن التعبير عن الرساله فى الكود بالقيمة مثل
وتظهر الرساله MsgBox("Text", 3 + 48 + 256, "Title") _________________ لا تعطيني سمكة ... و لكن علمني كيف أصطاد السمك | |
|
مجدى يونس Admin
عدد المساهمات : 3806 تاريخ التسجيل : 22/02/2013 العمر : 70
| موضوع: رد: دروس فى VBA Excel الخميس يناير 11, 2018 2:06 pm | |
| _________________ لا تعطيني سمكة ... و لكن علمني كيف أصطاد السمك | |
|