اذهب الي المحتوي
أوفيسنا

محمود_الشريف

الخبراء
  • Posts

    1846
  • تاريخ الانضمام

  • Days Won

    30

كل منشورات العضو محمود_الشريف

  1. أخى فى الله الأستاذ القدير // مجدى يونس بارك الله فيكم وجزاكم الله خير الجزاء وحمد لله على عودة النت الذى كان سببا فى عدم رؤياكم والإطمئنان عليكم شاكرا لكم ثناؤكم على الموضوع وتقبلوا منى وافر الاحترام والتقدير
  2. أخى فى الله بارك الله فيكم شاكرا لكم سعة صدركم وانا لا اقصد شيئا ولكنى اتحدث عن تجربة فوجدت ان جميع اساليب الحماية للأكسل ضعيفة جدا للغاية فى ظل التطور الرهيب لكسر برامج الحماية واختراق حقوق الملكية الفكرية وأتمنى أن تراجع هذا الرابط فقد يفيدكم كثيرا فى هذا الامر وهذا بعد اذن ادارة المنتدى حيث ان الرابط ليس له علاقة بالمنتدى http://www.cpearson.com/excel/workbooktimebomb.aspx وتقبل منى وافر الاحترام والتقدير
  3. الدرس الثامن جملة Do While Loop تُستخدم العبارة Do Loop لتنفيذ العبارات ضمنها، مادام الشرط المحدد محققاً. مثال تعد حلقة Do.Loop التالية من 1 وحتى 1000 : Dim Counter Counter=1 Do While Counter < 1001 Counter = Counter + 1 Loop ملاحظات : 1 - يتم تجهيز المتغير Counter بإسناد القيمة الابتدائية 1 اليه ، ثم تبدأ بعدها حلقة DoWhile.Loop 2 - يتحقق السطر الأول من أن قيمة Counter أصغر من ١٠٠١ فإذا كان الأمر كذلك، تنفذ العبارات الواقعة بين السطر DoWhile والسطر Loop وفي مثالنا هذا ، توجد عبارة واحدة بين هذين السطرين Counter = Counter +1 والتي تزيد قيمة العداد Counter بمقدار 1 3 - يعود البرنامج بعد ذلك إلى السطر Do While ويتحقق من قيمة العداد Counter والتي تساوى الى الآن 2 4 - لهذا فسوف يعاد تنفيذ العبارة الواقعة بين السطر Do While والسطر Loop وتستمر المعالجة حتى تصبح قيمة Counter مساوية إلى 1001 وعندها يختل الشرط ويستأنف تنفيذ البرنامج بدءا من العبارة التي تلي السطر Loop جملة Do-Loop-While العبارات ضمن الحلقة Do While.Loop في الفقرة السابقة قد تنفذ أو لا تنفذ ، تبعاً لتحقيق الشرط. فمثلاً العبارات في حلقة DoWhile.Loop التالية لن تنفذ أبداً Dim Counter Counter = 2000 Do While Counter < 1001 Counter = Counter + 1 Loop فعندما يتحقق البرنامج من السطر DoWhile فإنه سيكتشف أن Counter تساوى 2000 ولهذا فلن تنفذ العبارة الواقعة بين السطر DoWhile والسطر Loop يتطلب البرنامج أحياناً الدخول ضمن الحلقة لمرة واحدة على الأقل دون تحقيق أي شرط لذلك تُستخدم الحلقة Do.Loop While مثل هذه الحاله Dim Counter Counter = 2000 Do Counter = Counter + 1 Loop While Counter < 1001 ينفذ البرنامج العبارات الواقعة بين السطر Do والسطر Loop While مهما تكن الأحوال وبعد ذلك يحدد البرنامج إذا كان الشرط محققاً (أي Counter أصغر من 1001 ) يعيد البرنامج تكرار تنفيذ الحلقة إذا تحقق الشرط وبالتالي يعيد تنفيذ العبارات الواقعة بين السطر Do والسطر Loop While أما إذا اختل الشرط (أي Counter ليست أصغر من 1001 ) فعندها يستأنف التنفيذ من العبارة التي تأتي مباشرة بعد السطر Loop While وفى المثال التالى تعد جملة Do.Loop While من 50 الى 200 Dim Counter Counter = 50 Do Counter = Counter + 1 Loop While Counter < 201 العبارة Exit DO تنتهي الحلقة DoWhile.Loop باستخدام Exit DO مثال : Dim I I = 1 Do While I < 10001 (txtResult.Text = Str(I I = I + 2 If I > 500 Then Exit Do End If Loop تعد الحلقة السابقة بدءاً من الواحد وبزيادة قدرها 2 وينتهى تنفيذ الحلقة عندما تصبح قيمة I أكبر من 500 الحلقة اللامنتهية قد تقع أحياناً في خطأ يشبه ذلك المبين في الحلقة التالية : Dim I I = 1 Do While I < 10001 (txtResult.Text = Str(I If I > 500 Then Exit Do End If Loop نلاحظ أننا نسينا كتابة العبارة التالية: I = I + 2 تبقى قيمة Counter ثابتة في الحلقة Do While.Loop السابقة (I = 1 ) وهذا بسبب نسيان زيادة قيمته. يبقى البرنامج في هذه الحالة ضمن الحلقة إلى اللانهاية لأن قيمة I دوماً أصغر من 1001 ولكن تكون أبداً أكبر من 500 بل في الواقع تساوي 1 على الدوام الحلقة For Next التكرارية تعتبر جملة For Next وسيلة أخرى لصنع الحلقات التكرارية مثال تعد الحلقة التالية من 1 الى 100 Dim7 I For I = 1 to 100 Step 1 (txtMyTextArea.Text = Str(I Next أما للتعداد من 1 وحتى 100 وبخطوة زيادة في كل مرة قدرها 2 فتستطيع استخدام الحلقة For Next التالية : Dim I For I = 1 to 100 Step 2 (txtMyTextArea.Text = Str(I Next تعد هذه الحلقة بالشكل التالي 1 ، 3 ، 5 ، .... 99 تساوي قيمة Step في الحالة الافتراضية أي عند تجاهل كتابتها الى 1 وبالتالي فالحلقتين التاليين متشابهان الحلقة الأولى Dim I For I = 1 to 100 Step 1 (txtMyTextArea.Text = Str(I Next الحلقة الثانية Dim I For I = 1 to 100 (txtMyTextArea.Text = Str(I Next العبارة Exit For تستطيع الخروج من الحلقة For.Next باستخدام عبارة Exit For مثال Dim I For I = 1 to 1000 (txtResult.Text = Str(I If I = 500 Then Exit For End If Next يعد جزء البرنامج هذا بدءاً من الواحد وبزيادة قدرها 1 للمتغير Z مع كل تكرار للحلقة يتحقق شرط عبارة If الداخلية عندما تصبح قيمة I مساوية إلى 500 ونتيجة ذلك تنفذ العبارة Exit For التي تنهي بدورها تنفيذ الحلقة For.Next قبل انتهاء الحلقة الدالة Inputbox تستخدم فى إدخال بيانات بواسطة المستخدم من خلال مستطيل يطلب منه إدخال البيان المطلوب . مثل إدخال معدل الضريبة الكلى يتم حساب الضرائب التي تستقطع من العاملين أو إدخال الراتب الاساسى لموظف حساب صافى مستحقاته بعد إضافة الحوافز والمكافآت وخصم الضريبة والاستقطاعات وتأخذ هذه الدالة الشكل التالي : الشكل العام للدالة Inputbox مثال : الدرس 8.rar
  4. أخى فى الله بارك الله فيكم وعندى معلومه خاصة بالبرنامج الذى أشرت اليه انه لايمكنه تحويل الاكسل الى ملف تنفيذى فالملف التنفيذى لا يحتفظ بشكل المايكروسوفت اوفيس اكسل ولكن يقوم بتغيير شكل الواجهة ويمنع المستخدم من الدخول الى الداتا الخاصة بالبرنامج وعلى سبيل المثال هناك برنامج وهو فعال لحد كبير فى تحويل وتنصيب ملف الاكسل الى ملف تنفيذى كامل وهذا يعتمد على VBA داخل الملف مثل برنامج Donex وهو برنامج موجود على النت ولكنه غير مجانى ولكن منه نسخ تجريبية وعده اصدارات يقوم بتغيير الأيقونه تماما كما تشاء ويجعل من الصعب على المستخدم الدخول الى قاعدة بيانات البرنامج فقط يسمح بما هو مسموح له من قبل المبرمج اى ادخال بيانات او البحث والتعديل على البيانات ولكن يمنع المستخدم من الوصول الى الاكواد او المعادلات تماما بل يمكنه اكثر من ذلك وهذا يعتمد على أداء المبرمج ومدى احترافه وتقبل منى وافر الاحترام والتقدير
  5. أخى فى الله جزاكم الله خيرا فهذا الكود رائع بالفعل وأتفق تماما مع رأى أستاذى القدير // ياسر خليل فى كون أن هذا الكود يمكن التحايل عليه وعموما برامج كسر الحماية للأكسل ما أكثرها تقوم بأى شىء إلا إذا تم تحويل الملف الى ملف تنفيذى وتقبل منى وافر الاحترام والتقدير
  6. أخى فى الله الأستاذ الكريم // العفيرى بارك الله فيكم وتقبل منى وافر الاحترام والتقدير
  7. الدرس السابع الجملة الشرطية Select Case المثال السابق وهو قبل الأخير الذى ذكرناه فى جملة If - then - elseif – else والخاص بتقديرات الطلبة يمكن تطبيقه بشكل أفضل وأسهل بكثير باستخدام جملة Select Case سوف نقوم بتطبيق المثال مرة أخرى باستخدام جملة Select case ثم نقوم بالتعليق على المثال وشرح الملاحظات : الشرح : سنتحدث عن ما يخص جملة Select case 1 - بدأت الجملة بكلمة Select case ثم اسم المتغير الذى سيتم تتبع حالته . 2 - الحالة الأولى قيمة المتغير التى تم إدخالها فى صندوق النصوص هى بين صفر ، 49 3 - ظهور صندوق رسالة يفيد أن الطالب راسب 4 - يتم إدخال قيمة كل حالة وهكذا فى جميع الحالات بنفس الطريقة الملاحظات : 1 - تبدأ الجملة بكلمة Select case وتنتهى بجملة End select 2 - تم وضع الجملة الآتية فى بداية الكود On Error GoTo mistake ومعناها ومعناها أنه فى حالة وجود أى خطأ يتم الانتقال إلى العنوان Mistake وذلك تحسبا لقيام المستخدم بإدخال قيمة نصية وبالتالى يصعب اختبارها وفى هذه الحالة سوف يتم نقل الكود للخطوة الأخيرة والتى يظهر بها صندوق نص يفيد أن المستخدم لم يدخل قيمة عددية وعليه إعادة إدخال قيمة عددية ليتم اختبارها . وفى هذه الحالة سيتم إعادته مرة أخرى للبداية إلى العنوان Start 3 - يمكن تسمية العناوين بأى اسم مثال (X – Y – Z – Yasser ) ولكن يفضل أن يكون الاسم معبرا . 4 - نلاحظ أننا وضعنا مدى فى قيم المتغير فى خطوات الجملة وهذا ليس شرطا بل يمكن وضعه قيمة قيمة ولكن سيكون ذلك تطويلا لا طائل منه مثل التالى Case 1 Case 2 Case 3 Case 100 مرفق ملف pdf به كامل الدرس وتقبلوا منى وافر الاحترام والتقدير الدرس 7.rar
  8. أخى فى الله الأستاذ الكريم // أحمد فؤاد بارك الله فيكم وجزاكم الله خيرا على دعاؤكم الطيب وتقبل منى وافر الاحترام والتقدير
  9. أخى فى الله الأستاذ الكريم // حسام عيسى بارك الله فيكم وزادكم الله من فضله ومن علمه تقبل منى وافر الاحترام والتقدير
  10. الدرس السادس الأوامر والدوال فى لغة الـ Visual Basic سنركز فى هذا الدرس على عدد من الجمل والدوال ومن أهم هذه الجمل والدوال : 1 – جملة If – then 2 – جملة Select Case 3 – جملة For – next 4 – جملة Do while loop 5 – جملة Do loop while 6 – دالة صندوق الرسائل Message Box وقد سبق الحديث عنها بالدروس السابقة ولكننا سنتحدث أيضا عنها بهذا الدرس وبشىء من التفصيل بدرس مستقل . 7 – دالة صندوق الإدخال Input Box 8 – إنشاء الدوال الخاصة الجملة الشرطية If – then تستخدم هذه الجملة فى حالة وجود احتماليين منطقيين كنتيجة لوجود شرط معين . وتأخذ هذه الدالة الأشكال التالية : 1 – جملة IF ذات السطر الواحد أمر Then الشرط IF مثال : If x = 5 then y = x 2 – جملة IF ذات السطور المتعددة Then الشرط IF الأوامر End IF مثال : If x = 5 then Y = x End IF نلاحظ الآتى : - لا يتم كتابه اى شىء بعد Then - أنه تم اغلاق جملة IF بكلمة End IF 3 – جملة If – then – else Then الشرط IF مجموعة الأوامر Else مجموعة الأوامر End IF مثال : If x = 5 then Y = x Else Y = z End If نلاحظ الآتى : - لا يتم كتابة أى شىء بعد Then - إذا تحقق الشرط يتم تنفيذ الأوامر الموجودة فى ( السطر / السطور ) التى تلى كلمة Then - فى حالة عدم تحقق الشرط يتم تنفيذ الأوامر الموجودة فى ( السطر / السطور ) التى تلى كلمة Else - يتم إغلاق جملة IF بكلمة End IF 4 – جملة If – Then - Else if – Else Then الشرط IF مجموعة الأوامر Else IF مجموعة الأوامر Else مجموعة الأوامر End IF نلاحظ التالى : ذكرنا سابقا أن جملة IF تستخدم فى حالة وجود احتماليين منطقيين كنتيجة لوجود شرط معين ولكن هذه الحالة الرابعة سوف تحتمل أكثر من شرط وبالطبع كل شرط له احتمالين إما أن يتحقق أو لن يتحقق وسوف نلاحظ الآتى فى هذه الحالة : - لا يتم كتابة أى شىء بعد كلمة Then - إذا تحقق الشرط يتم تنفيذ الأوامر الموجودة فى ) السطر / السطور ( التى تلى كلمة Then - فى حالة عدم تحقق الشرط لا يتم تنفيذ الأوامر التى تلى كلمة Then ويتم الانتقال لاختبار الشرط الثانى المكتوب بعد كلمة Else IF ويلي الشرط مباشرة كلمة Then أيضا . - إذا لم يتحقق الشرط الثانى ووجد شرط ثالث يتم كتابته بعد كلمة Else IF أيضا بنفس الطريقة السابقة فى الخطوة السابقة . - وفى حالة عدم تحقق الشروط جميعا يتم تنفيذ الأوامر الموجودة فى ( السطر /السطور) التى تلى كلمة Else - تأتى كلمة Else فى نهاية كافة الشروط وهى آخر احتمال فى الجملة حيث يتم إغلاق الجملة بعدها نهائيا بكلمة Else IF ويجب ملاحظة ألا يسبق سطر Else أى سطر به كلمة Else IF وإلا تسبب فى خطأ جملة IF بالكامل . - يجب ملاحظة أننا فى إطار جملة IF واحدة وأن كلمة Else ليست مثل Else IF وأيضا IF ليست مثل Else IF حيث أن كل هذه الكلمات تدخل ضمن جملة IF الرئيسية وبالتالى فإنه يتم إغلاق جملة IF بكلمة End IF واحدة فقط . مثال : 5 – جملة IF المتداخلة (Nested if ) Then الشرط IF Then الشرط IF مجموعة الأوامر Else مجموعة الأوامر End IF Else مجموعة الأوامر End IF نلاحظ التالى : هذه الحالة مختلفة لأنه يوجد جملتى IF وسوف يتم إغلاقهما بكلمتى End IF نشرح هذه الحالة الخامسة بالمثال التالى : وهو مثال هام إذا أردنا اختبار اسم المستخدم وكلمة المرور عند الدخول للموقع أو البرنامج أو الإيميل الشكل البسيط جدا لذلك هو إخراج رسالة للمستخدم تفيد التالى (هناك خطأ فى اسم المستخدم أو فى كلمة المرور ) إلا أن هذا لا يليق بمبرمج محترف حيث يجب أن يوضح للمستخدم سبب الخطأ هل فى اسم المستخدم أو فى كلمة المرور وبالتالى فإن الرسالة يجب أن تكون كالتالى (هناك خطأ فى كلمة المرور ) وهذا معناه أن المستخدم قد أدخل اسم المستخدم بشكل صحيح والعكس أيضا . ويكون الكود كالتالى : مرفق ملف pdf به كامل الدرس السادس وتقبلوا منى وافر الاحترام والتقدير الدرس 6.rar
  11. أخوانى فى الله الأستاذ الحبيب // أحمد الحاوى الأستاذ القدير // سعد عابد الأستاذ الكريم // الدهشورى الأستاذ الكريم // جلال الجمال بارك الله فيكم على مروركم الكريم وتقبلوا منى وافر الاحترام والتقدير
  12. أخى فى الله الأستاذ الكريم // سليم حاصبيا ألف مليون مبروك للترقيه المستحقة عن جدارة أسأل الله عز وجل لكم أن يزيدكم من فضله ومن علمه مع تمنياتى القلبية لكم بدوام التقدم والرقى وتقبل منى وافر الاحترام والتقدير
  13. أخى فى الله الأستاذ القدير // ياسر خليل بارك الله فيكم على مروركم الكريم وتشجيعكم الدائم لى شاكرا لكم تقديركم وثناؤكم على الموضوع ومتابعتكم المستمرة تقبل منى وافر الاحترام والتقدير
  14. الجزء الثانى الدرس الخامس مقدمة عن البرمجة بلغة VBA فى برنامج إكسیل يتميز برنامج EXCEL بالواجهة الرسومية شانه شأن كافة البرامج التى تعمل تحت نظام التشغيل Windows وهذه الواجهة الرسومية تخفى خلفها الأوامر التى أصدرها للحاسب والتى تكون عادة مكتوبة بلغة من لغات الحاسب التى تعتمد على ما يسمى بالبرمجة الحدثية ( أو البرمجة الموجهة بالأحداث ) Events Programming تعتمد على حدوث حدث بواسطة المستخدم – مثل الضغط بزر الماوس الأيسر على زر تخيلى على الشاشة وبناء على هذا الحدث يتم تنفيذ مجموعة من الأوامر كما هو الحال فى وحدات الماكرو التى سبق الإشارة إليها . والواقع ان هذه الأزرار تخفى خلفها التعليمات التى تعطى للحاسب ، من خلال لغة الـ Visual Basic حيث يتم كتابتها بطريقة محددة وفقا لقواعد اللغة وكل مجموعة وهذه التعليمات تسمى الاكواد Codes وكل إجراء يرتبط تنفيذه بحدث معين يحدث من الأكواد او التعليمات تسمى إجراء Procedure من قبل المستخدم مثل الضغط بزر الماوس الأيمن او الأيسر على زر او تحريك الماوس او فتح كائن أو إغلاقه وتعتبر وحدات الماكرو احد الأدوات المستخدمة بواسطة Excel لكى يقوم المستخدم بتخزين مجموعة من التعليمات او الاكواد وتنفيذها من خلال حدث معين دون الحاجة إلى كتابة هذه التعليمات بنفسه بواسطة لغة Visual Basic ودون الحاجة الى تعلم قواعدها. ونتناول فى هذا الفصل كيفية التعامل مع أوامر لغة Visual Basic من خلال برنامج Excel وذلك بهدف التعرف على كيفية تصميم برامج تطبيقية قوية باستخدام Excel تتمتع بخواص وإمكانيات متقدمة يسهل من خلالها إدخال البيانات والتعامل معها . نبدأ على بركه الله تعالى فى شرح بعض الأمور الخاصة بالفيجوال بيسك اكسل وهى فى غايه الأهمية كونها توضح لنا العديد من الأمور المستخدمه فى الأكواد وبرجاء قرائتها بتأنى وبدقه لإستيعاب ما بها من نقاط هامه جدا التعامل مع محرر الكود فى الفيجوال بيسك اكسل 1 – فتح Visual Basic من خلال برنامج الأكسل : سبق الإشارة الى كيفية فتح محرر الأكواد راجع درس الماكرو 2 – إنشاء الإجراء Procedure : الإجراء Procedure هو مجموعة الجمل أو الأوامر التي يتم كتابتها لتنفيذ مهمة معينة . ولإنشاء الإجراء يستخدم الأمر sub ويعنى ذلك إنشاء إجراء جديد ويعقب ذلك اسم الإجراء ويكون من اختيار المبرمج أو المستخدم فنجد أن البرنامج يكتب تلقائيا جملة End sub على أن يتم كتابة الأوامر الخاصة بالإجراء بين جملتي الإعلان والنهاية . 3 – تنفيذ الإجراء : يتم تنفيذ الإجراء من خلال ورقة العمل بأحد طريقتين: الأولى : من خلال تنفيذ أمر أدوات / ماكرو/ وحدات ماكرو واختيار الإجراء الذى تم حفظه ويتم حفظ الإجراء ضمن وحدات الماكرو بالاسم الذى تم اختياره والضغط على زر تشغيل . الثانية : عمل زر خاص لتنفيذ الماكرو باستخدام أشرطة أدوات النماذج واختيار الأمر إنشاء زر وتخصيص الزر للماكرو المحدد ويتم تنفيذ الماكرو بالضغط على هذا الزر . 4 – المتغيرات Variables : يقصد بالمتغير مكان يتم حجزه فى ذاكرة الحاسب يتم فيه تخزين قيمة او مجموعة من القيم لكى يتم استخدامها داخل البرنامج . ولابد من إعطاء اسم لكل متغير حتى يتسنى فيما بعد استخدام هذا المتغير فى الوصول الى النتائج المطلوب تحقيقها من البرنامج . وهناك شروط محددة يجب توافرها فى اسم المتغير وإلا تم رفضها من قبل البرنامج . شروط تسمية المتغيرات : 1 - يجب ألا يبدأ اسم المتغير برقم وأن يبدأ بحرف . 2 - الحروف التى تلى الحرف الأول يمكن أن تكون حروف أو أرقام أو الاثنين معا . 3 - لا يجوز أن يحتوى اسم المتغير على مسافات أو نقطة أو رموز خاصة مثل ( ؟ ، * ،/ ، ..... الخ ) ولكن يمكن استخدام الشرطه السفليه ( _ ) . 4 - ألا يكون اسم من الأسماء المحجوزة مثل (if ، Else, dim, double, ...... الخ ) 5 - يجب ألا يكون مستخدما من قبل . بمعنى لو هناك كود بإسم MZM فلا يجوز كتابه كود آخر داخل نفس المصنف بنفس الاسم . أمثلة على أسماء صحيحة للمتغيرات : Salma – Mahmoud – mynameisyasser – Howareyou - Y2011 أمثلة على أسماء غير صحيحة للمتغيرات : Ali Gomaa - Good Morning - Howareyou? - 1210 5 – الثوابت Constants : عرضنا فيما سبق ما يخص المتغيرات وأنواعها وشروط تسميتها ، والثوابت هى مثل المتغيرات والفرق الوحيد بينهما هو أن الثوابت لا تتغير قيمتها أثناء عمل البرنامج وأيضا نجد أن شروط تسمية الثوابت هى نفس شروط تسمية المتغيرات وأيضا أنواع الثوابت هى نفس أنواع المتغيرات . 6 – الإعلان عن المتغيرات : الإعلان عن المتغير هو أن نخبر لغة visual basic عن اسم المتغير ونوع البيان وهناك طريقة للإعلان عن المتغيرات وهى بكلمة dim . وهناك أساليب مختلفة لعملية الإعلان وهى كالتالى : 1 - الإعلان عن متغير واحد فقط فى كل سطر من سطور الإعلان مثل : Dim a as integer Dim b as single 2 - الإعلان عن أكثر من متغير فى سطر الإعلان مثل : Dim a, b as integer 3 - الإعلان عن متغير وتخصيص قيمة له فى سطر الإعلان : Dim C as integer = 7 4 - الإعلان عن متغيرات ليست من نفس النوع وإعطاء قيمة لها فى نفس السطر "Dim X as integer = 9 , Y as string = "Mr. Mzm EL-Shrief 5 - الإعلان عن متغير وتخصيص قيمة له من ناتج معادلة رياضية فى نفس السطر Dim X as integer = a + b 7 – تخصيص القيم للمتغيرات : عند تخصيص قيمة للمتغير فإن هذه القيمة تأخذ أحد الأشكال التالية : 1 - قيمة مجردة X = 3 2 - متغير آخر X = Y 3 - عملية حسابية X = a + b ملاحظات : · عند الإعلان عن متغير ولم يتم وضع قيمة له فإنه يتم افتراض قيمة له كالآتي : 1 - المتغيرات الرقمية تأخذ الرقم صفر . 2 - المتغير المنطقي يأخذ القيمة False . 3 - المتغيرات الحرفية تأخذ قيمة فارغة " ". 4 – المتغير date يأخذ التاريخ 31/ 12 /1899 . · القيمة الحرفية "" لا تساوى القيمة الحرفية " " حيث أن الأولى قيمة فارغة أما القيمة الثانية فهى عبارة عن مجموعة من المسافات والمسافة لها قيمة . · يمكن جمع الأرقام وأيضا النصوص وذلك باستخدام علامات الربط & أو علامة + مثال Dim X , Y , Z as string "X = " Deiaa "Y = " Mahmoud Z = X + Y وعلى ذلك تكون قيمة Z هى Deiaa Mahmoud انتهى الدرس الخامس مرفق ملف pdf به كامل الدرس الخامس وتقبلوا منى وافر الاحترام والتقدير الدرس 5.rar
  15. أخى فى الله الأستاذ الكريم // محمد ابو ندى بارك الله فيكم وتقبل منى وافر الاحترام والتقدير
  16. إخوانى فى الله الأستاذ الكريم // أبو حبيبه و الأستاذ الكريم // الحسن الحسن بارك الله فيكم على مروركم الكريم أخى فى الله الأستاذ القدير // ياسر خليل بارك الله فيكم وجزاكم الله عنى خيرا ومروركم الكريم وتشجيعكم الدائم لتلاميذ هذا المنتدى شرف لى وأتمنى من الله عز وجل أننى أضيف شيئا لهذا المنتدى الكريم الحافل بعده أساتذة جديرين بكل الاحترام والفخر لكل متعلم على ايديهم وأتمنى أن لا يكون الموضوع بحد ذاته مكررا وان كان هناك عده مواضيع مشابهه له ولكن قد تكون الطريقة مختلفة فى ايصال المعلومه وتقبلوا منى جميعا وافر الاحترام والتقدير
  17. أخى فى الله الأستاذ الكريم // محمد الريفى أهنئكم للمرة الثانية على الترقية التى تستحقها عن جدارة وأسأل المولى عز وجل لكم أن يتقبل جميع أعمالكم وأن يكتبها لكم بميزان حسناتكم حفظكم الله من شرور العالمين بسر حفظه لكتابه الحكيم مع أطيب تمنياتى القلبية لكم بدوام التقدم والرقى تقبل منى وافر الإحترام والتقدير
  18. ملحق الدرس الرابع الخاص بالرسائل نستعرض هنا الرساله التى تحتوى على مربع ادخال بيان قد يكون اسم ما وقد يكون كلمه سر للدخول فيما يختص بالجزئية الأولى يكون كود الرساله بهذا الشكل وهذا الكود على سبيل المثال Sub example() Dim result As String result = InputBox("Text?", "Title") If result <> "" Then End If End Sub فتكون الرساله بهذا الشكل كما بالصورة التالية وإذا أفترضنا أننا نريد أن يجعل الاكسل يظهر الاسم او الكلمه التى ستكتب داخل هذا المربع فيكون الكود بهذا الشكل Sub example_1 () Dim result As String ("result = InputBox("Text ?", "Title", "write the name If result <> "" Then MsgBox result End If End Sub الاختلاف بين الكودين فى اضافة هذه الجملة Msgbox result وهى تعنى ظهور رساله تاليه بها الجملة التى تم ادخالها بالمربع فتظهر الرساله كما بالصورتيين التاليتين بعد كتابه الاسم على سبيل المثال تظهر الرساله بالشكل التالى نأتى لجزئية كلمة السر لقد جعلت الكود خاص بالمثال العملى المرفق يختص بالدخول الى الشيت الثانى وقد سجلت الكود بمحرر الأكواد الخاص بحدث الشيت الثانى أى داخل الصفحه نفسها من خلال الفيجوال بيسك وان شاء الرحمن سوف نتطرق لأمر الأكواد بشىء من التفصيل فى الدروس القادمة وما هو الفرق بين الكود داخل موديول أو بحدث الشيت أو بحدث المصنف بالكامل والكود الخاص برساله كلمه السر كالتالى Private Sub Worksheet_Activate() xx: Dim x x = InputBox("Password required" & Chr(13) & "يلزم معرفة كلمة السر للدخول لهذه الصفحه ", "فضلاً أدخل كلمة السر") If IsNull(x) Or x = "" Then GoTo xx If x = "بسم الله" Then MsgBox "كلمة السر تم قبولها تفضل لتنفيذ العمليه" Else MsgBox "Wrong Password" & Chr(13) & " عفواً لم تدخل كلمة السر الصحيحه سيتم العوده بك للصفحة الرئيسيه !!", vbOKOnly Sheets("sheet1").Activate End If End Sub فعند محاولة الدخول للشيت الثانى تظهر لنا الرساله كما بالصورة التالية وعند كتابة كلمه السر وهى بسم الله بين الكلمتين مسافة واحده فقط تظهر لنا رساله بهذا الشكل وبالضغط على زر OK يتم الدخول الى الشيت الثانى فى حال كوننا لم ندخل كلمه السر الصحيحة تظهر لنا رساله توضح ذلك وتنتقل مباشرة الى الشيت الأول والرساله كما بالشكل التالى مرفق ملفين الأول ملحق الدرس الرابع PDF الثانى مثال عملى لما ورد بالدرس وتقبلوا منى وافر الاحترام والتقدير ملحق الدرس4.rar مثال عملى ملحق الدرس 4.rar
  19. أخى فى الله الأستاذ الكريم // ابو حبيبه فيما يختص بالاشارة الى اكسل 2007 فهو قاصر فقط على شكل الأوفيس والأدوات المشار اليها لأنى استخدم بالشرح صورا من اكسل 2007 وما فوق ولكنها موجوده باكسل 2003 ولكن شكلها مختلف فقط اما تفاصيل الدرس الثانى والرابع فهى تشمل كافه الاصدارات وتقبل منى وافر الاحترام والتقدير
  20. إليكم إخوانى فى الله أمثله على الدروس السابقة ملفين اكسل الأول به تطبيق عملى لما ورد بمثال درس الماكرو مع ربطه بدرس الرسائل ونجد به كود هام خاص بالحلقة التكرارية للرسائل والملف الثانى به بعض الأمثله التوضيحيه على كيفية كتابه الكود الخاص بالرسائل وبه مثال هام على كيفية إظهار مدى أهمية الرساله من جعلها تخير المستخدم من تنفيذ الإجراء المطلوب أو التراجع عنه وايضا هذه الجزئية أرفقتها بالمثال الأول ملحوظة هامه سيتم ان شاء الله تعالى اعداد درس ملحق خاص بالرسائل وهو درس صغير ولكنه بنظرى هام فى كيفية استخدامها فى ادخال بيان أو مثلا كلمه سر لأننى لم أتطرق اليها بالدرس الخاص بها وقد سقطت منى سهوا ولم يلفت نظرى أحد من السادة الأعضاء اليها وتقبلوا منى وافر الإحترام والتقدير أمثله.rar
  21. أختنا فى الله الأستاذة القديرة // أم عبد الله بارك الله فيكم على مروركم الكريم وتفاعلكم الجدى مع الموضوع وهذا ليس بجديد عليكم وان شاء الله برفق أمثله على كل درس الأستاذ الكريم // محمد يوسف محمد و الأستاذ الكريم // زيزو العجوز بارك الله فيكم على مروركم الكريم وثناؤكم على الموضوع وتقبلوا منى جميعا وافر الإحترام والتقدير
  22. الدرس الرابع الرسائل نتحدث هنا عن استخدام بعض التقنيات التى تجعل استخدامنا للماكرو _ ( برمجه اكسل ) _ أكثر مرونه .. وذات طابع احترافى وأكثر جمالا وذلك من خلال استخدام الرسائل من خلال كتابة بعض الأكواد البسيطه السؤال ؟ أين تكتب تلك الأكواد ؟ تكتب تلك الأكواد داخل حدث الشيت تكتب داخل حدث المصنف تكتب داخل موديول تكتب داخل أكواد اليوزر فورم أى تكتب حسب الحاجه لها على أن تكون داله على الهدف منها سواء كان تحذير من شىء أو طرح سؤال بسيط مثال ( 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") مرفق ملف به كامل الدرس الرابع وتقبلوا منى وافر الاحترام والتقدير الدرس 4.rar
  23. الدرس الثالث إعدادات الأمان لغة VBA هي لغة برمجة وهذا يعنى أنه يمكن لبعض المبرمجين أن يستغلها استغلالا سيئا فى إنشاء برامج ضاره تضر بالحاسب الآلى الذى يستخدم هذا البرنامج وعليه قررت شركة مايكروسوفت إضافة خاصية الأمان لحماية المستخدم وللدخول إلى خيارات الأمان نتبع الخطوات التالية : بأوفيس 2007 وما فوق نضغط على زر برنامج الأوفيس كما بالصورة ثم نضغط على Excel Option تظهر لنا نافذة كما بالصورة ثم نختار Trust Center من القائمة تظهر لنا نافذة أخرى كما بالصورة ثم نضغط على Trust Center Settings تظهر لنا نافذة كما بالصورة نجد هنا قسمين بالنافذة الأعلى ( الصورة السابقة ) الجزء الأول به عدد ( 4 ) اختيارات ومعناهم كالتالى : اختيار الخيار الثانى او الثالث عندما يقوم المستخدم بفتح البرنامج تظهر نافذة الاكسيل كما بالصورة التالية وبالضغط على زر Options تظهر لنا نافذة كما بالصورة التالية فإن كنا نثق بالبرنامج والمصدر نضغط على الخيار الثانى وهو Enable this content ونضغط على OK مرفق ملف به كامل الدرس الثالث وتقبلوا منى وافر الاحترام والتقدير الدرس 3.rar
  24. أخى فى الله الأستاذ الكريم // محمد الريفى بارك الله فيكم وألف مبروك للترقية المستحقة عن جداره نسأل الله لكم أن يوفقكم لما يحبه ويرضاه مع تمنياتى القلبية لكم بدوام التقدم والرقى وتقبل منى وافر الاحترام والتقدير
×
×
  • اضف...

Important Information