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

نجوم المشاركات

  1. ياسر خليل أبو البراء

    ياسر خليل أبو البراء

    المشرفين السابقين


    • نقاط

      13

    • Posts

      13,165


  2. الصـقر

    الصـقر

    الخبراء


    • نقاط

      9

    • Posts

      1,836


  3. ياسر العربى

    ياسر العربى

    الخبراء


    • نقاط

      9

    • Posts

      1,510


  4. أبو عبدالله الحلوانى

Popular Content

Showing content with the highest reputation on 12 ينا, 2016 in all areas

  1. معك حق يا بو مصطفى وانا اهنيك واغبطك على صبرك ولكن دعني اوضح لك اهم الاسباب التي تمنع الاعضاء من التفاعل مع الموضوع : 1- اولا ابدأ بنفسي حيث لا يوجد في جهازي الا الاصدار 2003 لذا لا يمكنني فتح مرفقاتك ، ولا تنسى ان مثلي كثير 2- وهو المهم انك ترفق برنامجا كاملا في كل سؤال تطرحه مليء بالكائنات والاحسن الذي يجب ان يسير عليه المتعلم انه اذا اراد طرح مسألة اعد لها مثالا مختصرا ومحكما كما يعد الفريق الطبي المريض للجراح ثم بعد الحصول على الاجابة الوافية يحتفظ به في مكتبته ليرجع اليه عند الحاجة
    2 points
  2. بعد أذن أستاذ على هذا حلا لمشكلة دون الحاجة لتغير نوع بيانات الحقل - لعله يريد الابقاء على كونه رقما ولكن استفسارى لماذا لم يكن ملف الورد تقريرا داخل البرنامج دون الحاجة للتصدير للورد؟! وعموما تفضل التعديل 7.rar
    2 points
  3. اخي واستاذي العزيز حسام خطاب اولا كل الشكر والامتنان على ما قمت به من عمل رائع جربت المرفق وما قمت به ولكن بشكل مستعجل لضيق وقتي الان وكانت النتيجة اكثر من رائعة بل جعلتني اقفز من الفرحة لانه اصبح لي امل كبير بل يقين باني ساصل الى هدفي وذلك بفضل الله ثم بفضلك اخي الكريم ولكني ساجرب المرفق بتاني وتمعن مساء هذا اليوم باذن الله وساعلمك بالنتيجة بشكل مفصل دعواتي لك بان يوفقك الله ويمن عليك بالخير والبركة اخوك ابو مهند
    2 points
  4. سيد حسام المعادلة سليمة 100% بارك الله فيك
    2 points
  5. السلام عليكم عالم الإبداع يلتقي التقاء حميماً في منتدى أوفيسنا جزاكم الله خيراً أخي الحبيب أبو البراء ...إثراء جميل وتعزيز لما تفضل به أخي الحبيب الصقر مشكوراً.. والأجمل من كل ذلك فلا يجوز الحلف بالمخلوقين ...وأعوذ بالله من اليمين الغموس والسلام عليكم
    2 points
  6. أخي الفاضل أبو عبد الله الرشود إثراءً للموضوع إليك معادلة أخرى تقوم بالمطلوب إن شاء الله =IFERROR(IF(A2="","",COUNTIF($A$2:$A$100,A2)*1/(--(COUNTIF($A$2:$A$100,A2)=COUNTIF($A$2:A2,A2)))),"") إذا لم تعمل المعادلة معك قم باستبدال الفاصلة العادية بفاصلة منقوطة تقبل تحياتي
    2 points
  7. رائعون ومبدعون كالعادة شكرا للجميع بارك الله فيكم والى الامام ما يعجبني في المبدعين دوما سباقين
    2 points
  8. رابط الفيجوال بيسك 6 كامل من رفعي لمن يعانون من مشاكل التنصيب يرجى تشغيلة كمسئول يعمل علي ويندوز 8 64 و7 32 واكس بي بجميع اصدراتها هذا ما تم تجربته عليه http://www.mediafire.com/download/b7r034dv0vcba0h/VB6.0+Enterprise.rar هل جربت هذه النسخة هذه التي اعمل عليها دائما
    2 points
  9. استاذى الحبيب ابويوسف واستاذى الحبيب ابوالبراء مروركم هو الاروع دائما هذا ما تعلمنه منكم تقبلوا تحياتى ----------------------------
    2 points
  10. أخي الحبيب حسام حل رائع وجميل .. تسلم الأيادي يا كبير تقبل تحياتي
    2 points
  11. السلام عليكم أخي الحبيب الصقر حل رائع وفقك الله تعالى له ...والمبهر فيه أن مجموع كل اسم يوضع في آخر خلية كتب جوارها ذلك الاسم مع الأخذ بعين الاعتبار أن الأسماء المتماثلة قد تأتي متفرقة ضمن العمود جزاكم الله خيراً والسلام عليكم.
    2 points
  12. اخى الكريم ابوعبدالله ضع هذه المعادله فى الخليه B2 =IF(COUNTIF(A3:$A$1000;A2)>0;"";COUNTIF($A$2:$A$1000;A2)) وسحبها نزولا لاسفل الى ما تريد من عدد الصفوف وشاهد المرفق به تطبيق عملى تقبلى تحياتى ----------------------------------------------- A.zip
    2 points
  13. بارك الله فيك أخي وحبيبي في الله حسام حلك ممتاز على حسب ما فهمت من المطلوب ..ويؤدي الغرض إن شاء الله تقبل وافر تقديري واحترامي
    2 points
  14. الاخت الكريمه ربا جربى المرفق هل هو طلبك تقبلى تحياتى ------------------------- Test.zip
    2 points
  15. استاذي القدير حسام خطاب تحية لك على ابداعك فعلا وفقت الى حد كبير ولم يتبقى الا القليل لقد كانت النتائج مطابقة تماما الا في حالة واحدة وهي اذا لم يبصم الموظف نهائيا فلن يظهر اسمه في sheet1 وما اريده هو ان يظهر اسمه ويكون امامه خليتان فارغتان لذا اعتقد يجب ان تكون بيانات عمود القسم وعمود الاسم في sheet 1 تكون مكتوبة مسبقا اي اسماء كافة الموظفين الموجودين لدينا كل منهم مكتوب اسمه وامامه خليتان واحدة للحضور واخرى للانصراف . على ان تكون هذه الاسماء قابلة للتغيير بالاضافة او بالحذف اي يمكن ان يضاف اسماء موظفين جدد او يتم حذف اسماء موظفين اخرين .. والملف المرفق فيه توضيح حيث الورقة sheet1 تكون حقولها ثابته ومكتوبة مسبقا لكافة الموظفين ويمكن التغيير فيها حسب عدد الموظفين سواء متعينين جدد او خارجين من الوظيفة اي سيتم حذفهم من هذه القائمة . اما الورقة (بيانات) فهي تمل من بصم فعلا لهذا اليوم لذا المطلوب هو تحويل الاوقات في الورقة بيانات الى الورقة الثانية sheet1 اكرر شكري وتقديري لمجهودك الكبير وتعاونك معي تقبل تحياتي وتقديري . اما اخي الحبيب محمد حسن المحمد فلك كل الشكر والتقدير على مداخلاتك وملاحظاتك القيمة نعم اخي نحن نعمل في شركة لها عدة مواقع عمل فبعض الموظفين يخرجون من منازلهم صباحا لاداء اعمالهم في تلك المواقع دون الحضور صباحا الى مقر الشركة وبعد ذلك يعودون الى مقر الشركة . او يحدث العكس اي يحضر صباحا الى مقر الشركة ثم يخرج الى موقع عمل على امل العودة ولكن لظروف العمل يبقى الى نهاية الدوام دون ان يبصم في مقر الشركة . اكرر شكري وامتناني لك ترحيل جديد.rar
    2 points
  16. اولا / الشكر لله ثم لهذا الموقع الذي اعطانا ما يفيد ونفيد به ثانيا / اشكر الاخوة الذين ساهموا معي وشاركوني وتحملوا كثرة استفساراتي لاخراج هذا البرنامج وهم الاساتذة والمشرفين(جعفر ,عبدالرحمن هاشم,ابوعارف ,ابو خليل ,رمهان ) شكرا لكم على هذا العمل ونطمع فالمزيد منكم برنامج العطاء للعقارات العقارات اسم البرنامج : برنامج العطاء للعقارات نسخة البرنامج : النسخة 1 متطلبات البرنامج : برنامج اوفيس اكسس 2003 صلاحية البرنامج : برنامج مجاني مفتوح يتم تسجيل بيانات ملاك العقارات اولا ثم تسجيل عقود المستاجرين وتاريخ بداية الايجار وعمل توزيع لها ظهور الايجارات المستحقة في تقرير حسب تاريخ استحقاق الايجار - تقرير للمستاجر لبيان عدد مرات الايجار وغيرها - تقرير يظهر الشقق الغير مؤجرة - تقرير يظهر شقق وعقارات باسم الحي - تقرير يظهر شقق المالك والباقي تقدر تكتشفة بالبرنامج البرنامج يتم استعمالة في الايجارات للشقق والاراضي وغيرها لمن يعملون في مكاتب العقار نريد ارائكم واقترحتكم ومشاركاتكم بعد تجربة البرنامج في هذه الصفحة نرجو ممن يقوم بتجربتة يفيد الموقع بذلك وكذلك في حالة وجود مشاكل يمكنة طرحها هنا لحلها وتلافيها ولن يبخل اي من الاعضاء او المشرفين في حل مشكلتك . تنبية : يلزم فتح موضوع جديد حتى يتم النظر في المشكلة من شروط الموقع رابط البرنامج هـــنــا
    1 point
  17. بعد إذن أستاذ Karrar Sabry سأجيبه على النقطة الثانية - على شرط ألا يعدد الأسألة مرة أخرى بموضوع واحد الاجابة بالصورة , وإن لم تكن الاجابة واضحة - غير الاستاذ -
    1 point
  18. شكرا لاهتمامك استاذي ابو الحسن والحسين بالنسبه لسبب ظهور يوزر فورم 1 انا في الشيت الاصلي لاغي كل القوائم في الاكسل ويظهر فورم بيتم العمل من خلاله في كل شئ داخل الاكسل حتى علامة ( x) انا لاغيها ولا تعمل وبداخل الفورم مفتاح لاغلاق الملف والحفظ وايضا مفتاح لاغلاق الملف وهنا بيظهر فورم 8 وبه 3 مفاتيح 1- حفظ 2 - اغلاق بدون حفظ 3 - الغاء الامر وهذه الاوامر كانت تعمل جيدا ولكن بعد تعديل الكود ال حضرتك صنعته وهو جيد فوق ما تتخيل ويؤدي المطلوب فعلا بس تقريبا حصل تضارب بين الاكواد وبعضها وبناء عليه تم الاتي عند اغلاق الفورم لا يغلق كاملا يغلق الورك بوك ولكن يبقي الملف مفتوح المطلوب بالترتيب 1- محاولة ترتيب الاكواد وبعضها 2- تعديل كود الغلق بدون حفظ بحيث لو حبيت اغلق الملف بدون ما احفظ التغييرات يتم غلق الملف كاملا بدون حفظ من خلال المفتاح المخصص كما موضح في فورم 8 هذا هو المطلوب وجزاك الله خيرا
    1 point
  19. اتفضل ياأخى ولا يكون خاطرك الا مرضى ان شاء الله خاص.rar
    1 point
  20. بعد اذن استاذ على تم التعديل لخاصية منبثق لنعم لفورم adham تفضل osama.rar
    1 point
  21. استاذي وأخي أبا الحسن والحسين سلام الله عليكم يارب تكون موجود فيه مشكله قبلتني بعد مكانت الدنيا اتظبطت تمام انا عامل فورم به عدة مفاتيح منها اغلاق الملف وعند اغلاق الملف بيظهر فورم اخر به حفظ او بدون حفظ والغاء بعد مركبت الكود بتاع حضرتك الموجود في الملف عند الغلق لا يغلق الملف كاملا يغلق الشيت ويبقي البرنامج شغال مرفق ملف للتوضيح اكثر به اغلب الاكواد اتمني ترتيبها وعمل المطلوب وجزاك الله خيرا انت وكل اعضاء هذا المنتدي KHMB1.rar
    1 point
  22. السلام عليكم ورحمة الله وبركاته أشكر اهتمامكم أخي الحبيب عبد العزيز وسأحاول تنزيله غدا إن شاء الله تعالى لأنه لم يعد لدي حاسوب جاهز في البيت تقبل تحياتي العطرة.
    1 point
  23. اخي الفاضل السلام عليكم هل تقصد الناجح والراسب بواسطة المعادلات اتمنى ان يكون المطوب كنترول 5.rar
    1 point
  24. السّلام عليكم و رحمة الله و بركاته الشّكر موصول للأخ الغالي " ياسر العربي " لفتحه الأبواب لنا على مصْراعيْها للنّقاش المثمر و الحوار المتواصل أدعو الله أن يفتح له أبواب الجنّة على مصراعيْها إن شاء الله المولى العزيز القدير الأخ القدير و الأستاذ الحبيب " أبو يوسف " رفعت لك هذه النّسخة التي إشتغلت عليها لحد الآن و لم تصادفني مشاكل إلاّ التي تحدث عن سوء فهمي لها و جهلي بها .. نسخة الفيجوال بيسك البروفيسيونال بصيغة إيزو .. جرّب من باب زيادة الخير خيريْن لعلها تنفع .. لا ندري سأحاول رفع الآن نسخة الويندوز 7 للأستاذ القدير " إبراهيم أبو ليله" .. فقط شويّة صبر .. فالسلحفاة أسرع من الأنترنت عندي تفضّل الرّابط : http://www.4shared.com/file/pj0Btorlce/VBPRO.html
    1 point
  25. بعد الاذن من اخي عبدالله الحلواني ترقيم الاعمدة في القائمة المنسدلة تبدأ من صفر القائمة المنسدلة التي لديل بها id في العمود الأول وهو يأخذ الرقم 0 في البرمجة وهكذا
    1 point
  26. تم العمل على الملف دون كود بواسطة المعادلات فقط كنترول 5 salim.rar
    1 point
  27. اخي معذرة لا يمكنني فتح المرفق للتعديل بسبب الاصدار تفضل هذا مطلوبك الصقه في حدث النقر على زر داخل نموذجك مع الاخذ بالاعتبار تغيير اسم التقرير بالاسم الذي في برنامجك DoCmd.OpenReport "RepName", acViewPreview, "", "", acNormal DoCmd.PrintOut acPages, 1, 1, acHigh, 1, True If MsgBox("اقلب الورقة ان كنت تريد الطباعة في الخلف", vbOKOnly, "") = vbOK Then DoCmd.PrintOut acPages, 2, 2, acHigh, 1, True Else DoCmd.PrintOut acPages, 2, 2, acHigh, 1, True End If DoCmd.Close acReport, "RepName"
    1 point
  28. الف شكر اخي الكريم تم تطبيق الكود بنجاح فعلا شرح ممتاز ووافي جزاك الله عنا خير الجزاء ، تقبل تحياتي .
    1 point
  29. بورك لك فى الموهوب وشكرت الواهب وبلغ أشده ورزقت بره - أسأل الله العظيم أن يجعلها بارة بك وبوالديها ويجعلها بركة على الاسلام والمسلمين - يسعدنى أن يكون هذا أول تواصل بيننا أبا يوسف - محبك فى الله
    1 point
  30. اخوتي الكرام شكرا لكم .. تم فصل الموضوع بعنوان مناسب
    1 point
  31. حل رائع وشرح ممتاز اخى ابو البراء .. بارك الله فيك وجعله بميزان حسناتك
    1 point
  32. اصلحها الله وانبتها نباتا حسنا وكن مستعدا ابا يوسف سنيات قليلة وتسمع يا جدو
    1 point
  33. السلام عليكم ورحمة الله وبركاته في الجدول ShippingInfo تجد ان نوع حقل ال ClintName هو Number حوله إلى text 7.rar
    1 point
  34. السلام عليكم أستاذنا الفاضل أبو آلاء أولا :: ملف شئون العاملين في غاية الروعة ... ما شاء الله عليك وزادك من علمه وفضلة ثانيا :: لي رجاء من حضرتك :: ان تقوم بالتعديل على الملف حتى أستطيع أن أضيف عدد أكبر من العاملين بالتربية والتعليم حيث ان عدد العاملين بالادارة التعليمية يصل الى أكثر من 8000 موظف والعدد المسموح في الملف الي حضرتك رافعة 200 موظف فقط . وجزاك الله خير الجزاك وزادك من علمه وفضلة على المجهود الرائع في الملف
    1 point
  35. اخى ابو البراء تسمح لى أُقبل البراء ثلاث قبلات بارك الله فى البراء وفيكم وجزاكم الله خيرا الهى وانت جاهى ينورهالك يياسر ياأبن حواء وأدم ويجعلك فى كل كود سلامة " ههههههه " ويباركلك فى بدنك وصحتك وأولادك اخى ياسر للموضوع بقيه ولكن بموضوع أخر مرتبط بهذا الموضوع سبتم رفعه فى حينه فلا تنسانى جزاكم الله خيرا **** انتهى الجزء الاول من البرنامج تقبل وافر تقديرى واحترامى
    1 point
  36. السلام عليكم أخي الحبيب حسام صقر المنتدى جزاكم الله خيرا وعقبى لكل من تحبون اللهم ارزق كل مشتاق وكل محروم.. سعادتي بكم وبمروركم العطر لا توصف والسلام عليكم ورحمة الله وبركاته...
    1 point
  37. استاذى الحبيب ابويوسف يسعدنى اكون اول المهنئين بقدوم الحفيده ربنا يبارك فيها تقبل تحياتى
    1 point
  38. اهلا ابو عبد الله ... كلام جميل ... لكن الاخ اسامة يريد النجوم تظهر في رسالة الباسوورد و ليس في النموذج ... أخوك كرار
    1 point
  39. أخي الكريم صداكم وجزيت خيراً بمثل ما دعوت لابد من تمكين إعدادات الماكرو لتعمل الأكواد .. وكما قلت ربما يحوي الكود على أسطر تشبه عمل الفيروسات ..فيمكن باستخدام الأكواد مسح الملفات والمجلدات في بارتشن بالكامل .. لذا يجب الحذر والحيطة والإطلاع على الكود قبل تجربته ... وإليك شرح لأسطر الكود لعله يكون معين لك على إنجاز مهمتك Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) 'يوضع الكود في حدث ورقة العمل ويتم التنفيذ عند النقر المزدوج على الخلايا التي سنقوم بتحديدها '------------------------------------------------------------------------------------------- 'سطر في حالة أن عدد الخلايا التي سيتم التعامل معها أكبر من خلية يتم الخروج من الإجراء 'حيث أن المطلوب التعامل مع خلية واحدة فقط في كل مرة لذا وجب الحيطة والحذر وتحديد خلية واحدة If Target.Cells.CountLarge > 1 Then Exit Sub 'هذا السطر هو الذي يحدد نطاق الخلايا التي ستتمكن من التعامل معها وهي في العمود الثالث 'وأيضاً التعامل سيكون في الصفوف الأكبر من الصف الثالث [C] حيث أننا جعلنا عمود الخلية الهدف يساوي 3 أي العمود 'أي أنه سيتم استثناء الصف الأول والثاني والثالث ويتم التعامل مع الصفوف بدايةً من الصف الرابع If Target.Column = 3 And Target.Row > 3 Then 'سطر لإلغاء تحديث الشاشة وكذلك إلغاء تمكين الأحداث وهذا الإلغاء يسرع من عمل الكود Application.ScreenUpdating = False Application.EnableEvents = False 'عدم السماح بالتعديل في الخلايا الهدف أي أن الخلايا في العمود الثالث 'بدايةً من الصف الرابع لن تتمكن في التعديل عليها بالنقر المزدوج كما 'هو الحال في بقية الخلايا .. وهذا لا يعني أنك لا تستطيع التعديل على الخلايا 'من لوحة المفاتيح [F2] يمكن التعديل باستخدام مفتاح 'أما التعديل عن طريق النقر المزدوج فممنوع في الخلايا المحددة Cancel = True 'تعريف المتغيرات الأول لورقة العمل التي سنقوم بترحيل البيانات إليها 'والمتغير الثاني لمعرفة صف الخلية الهدف التي سيتم التعامل معها Dim Sh As Worksheet, lRow As Long 'تعيين قيمة للمتغير ليساوي ورقة العمل المسماة التقرير Set Sh = Sheets("التقرير") 'تعيين قيمة للمتغير ليساوي صف الخلية الهدف lRow = Target.Row 'بدء التعامل مع ورقة التقرير With Sh 'مسح البيانات الموجودة في الخلايا المحددة في السطر .Range("D5,D7,H8,H11,D11").Value = "" 'شرط ألا تكون الخلية الهدف فارغة أما إذا كانت فارغة فلن يتم تنفيذ الكود If Not IsEmpty(Target) Then 'تساوي التاريخ الحالي [D5] الخلية .Range("D5").Value = Date 'تساوي القيمة الموجودة في العمود الثالث في نفس صف الخلية الهدف [D7] الخلية .Range("D7").Value = Cells(lRow, "C").Value 'تساوي القيمة الموجودة في العمود الرابع في نفس صف الخلية الهدف [H8] الخلية .Range("H8").Value = Cells(lRow, "D").Value 'تساوي القيمة الموجودة في العمود الخامس في نفس صف الخلية الهدف [H11] الخلية .Range("H11").Value = Cells(lRow, "E").Value 'تساوي القيمة الموجودة في العمود السادس في نفس صف الخلية الهدف [D11] الخلية .Range("D11").Value = Cells(lRow, "F").Value 'إظهار رسالة تفيد بأنه تم إعداد التقرير للموظف ثم ذكر اسم الموظف الموجود في العمود الثالث MsgBox "تم إعداد تقرير للموظف " & Cells(lRow, "C").Value & " في ورقة التقرير", 64 'انتهاء جملة الشرط End If 'انتهاء التعامل مع ورقة التقرير End With 'استعادة الإعدادت التي تم إلغائها في بداية الكود Application.EnableEvents = True Application.ScreenUpdating = True End If End Sub تقبل تحياتي
    1 point
  40. كل ملاحظاتك ممكن وإذا لي أي استفسار سأستوضح منك
    1 point
  41. انا عملت الملاحظات وسوف اعمل عليها إن شاء الله اترك لي فرصة لان الوقت متأخر
    1 point
  42. السلام عليكم ورحمة الله private declare ptrsafe function makkesuredirectorypathexists lib " imagehip.dll"(byval lppath as string)aslong حاول تشيل Ptrsafe اللي باللون الاحمر ليصبح الكود : private declare function makkesuredirectorypathexists lib " imagehip.dll"(byval lppath as string)aslong إن شاء الله تضبط معاك انا اعمل علي اوفيس 2013 نظام 64 بت والكلمة تخص نظام 64 بت
    1 point
  43. السلام عليكم ورحمة الله تفضل اخي ابو حمادة الملف المرفق إن شاء الله حسب ماطلبت وإذا فيه أي ملاحظة الجميع مابنقصر معاك كلا من جهته. تم عمل المطلوب دون المساس بما ذكرت فقط قمت بتعطيل الاكواد اللي في حدث فتح المصنف ( Workbook_Open) واللي في حدث قبل حفظ المصنف ( Workbook_BeforeSave) لكي يفتح الملف لانه عند التنزيل ممكن لايكون في مسار المجلد او تغيير إسم الملف فلن يفتح الملف ولن تستفيد منه شئ وتستطيع بعد التشييك وعمل اللازم إزالة تعطيل الاكواد بإزالة الفاصلة. لكن قبل العمل علي الملف لازم ان تنشئ مجلد بإسم شئون ادارية علي الدرايف D .كذلك تستطيع ان تكتب في الكمبوبكس إسم وتضغط زر حفظ بهذا الاسم ولو الف اسم ستلاقيهم في المجلد شئون ادارية مع تحيات اخوكم في الله / ابو الحسن والحسين حفظ باسم.rar
    1 point
  44. السلام عليكم اخى العزيز ممكن انك تخلى مصدر الصور مجرد لينك من الجهاز ولا يتم حفظ الصور على القاعدة وبالتالى هيبقى الصور منبثقه من مكانها بجهاز الاساسى وممكن تخلى كاءن داخل القاعدة ليظهر لك الصور على جميع الاجهزة المرتبطه وان واجهتك مشكله فى عدم وضوح قصدى قم بارفاق قاعدة بياناتك وان شاء الله نشوف ليها حل واخواننا الخبراء هنا لن يتاخرو عليك بحل المشكله
    1 point
  45. بسم الله الرحمن الرحيم اليوم سنقوم بشرح طريقة ربط الفيجوال بيسك بالإكسيل اولا نعمل مشروع جديد عبارة عن فورم وواحد كمبوبوكس وسته تكست وثمانية ليبل وخمس أزرار وملف اكسيل بامتدادxlsx واسمه aseel امتداده اظن لا يدعم وحدات الماكرو بس عادي مع الفيجوال شغال بنفس ترتيب الشكل الاتي: خلصنا الشكل السابق ندخل علي الشغل الجديد بقي كلنا أكيد سمعنا عن المتغيرات وكلنا تعاملنا معاها قبل ما نشوف المتغيرات الفيجوال عشان نربطه بالإكسيل لازم له مراجع ومتغيرات عامة على مستوى المشروع بأكمله إيه الكلام دا بيتعمل ازاي المرجع دا ولا بنجيبه منين شوفو معايا الصور بعد الخطوات دي ياترى بنعرف نضيف موديول زي ما بنضيف فورم جديد كدا اللي بيعرف يضيف اللي مش عارف ينزل للصورة معايا ويشوف ايه البيانات دي يامعلمين دي بقي المتغيرات العامة اللي بنقول عليها وبتكون علي مستوى المشروع بأكمله يعني لازم تتحط في موديول ولتبسيط الكلام اللي فوق دا بطريقة سهلة اول سطر Public YXL As New Excel.Application YXL دا متغير يشير الى برنامج الاكسيل نفسه بمعنى عندما نريد ان نكتب في الاكسيل Application. Visible = False نكتبه كدا YXL. Visible = False اكيد وصلت الفكرة ولو مش وصلت نكمل مثال كمان المتغير ونظيره في الإكسيل YWB= Workbook YSheet= Worksheet YRng= Range اكيد الامور اصبحت سهلة كدا أي كود في الإكسيل نستبدل المذكورين في أعلاه بنظره في الإكسيل وسيعمل الكود بإذن الله يعني مش هتخترع اكواد جديدة هي نفس القديمة بس تعديلات طفيفه المهم الكل يكون عمل الفورم والموديول والاداوت كما ذكرت سابقا بالترتيب الموجود عشان الاكواد متتبدلش مع الادوات نيجي بقي للاكواد Private Sub Combo1_Click() 'جدا الكمبوبوكس ومنه بيتم جلب البيانات بمعلومية الرقم والكود طبعا مفيهوش جديد نفس اكواد الاكسل With YSheet LastRow = .Cells(.Rows.Count, "B").End(xlUp).Row For iRow = 6 To LastRow If .Cells(iRow, 2) = Combo1.Text Then Text1.Text = .Cells(iRow, 2) Text2.Text = .Cells(iRow, 3) Text3.Text = .Cells(iRow, 4) Text4.Text = .Cells(iRow, 5) Text5.Text = .Cells(iRow, 6) Text6.Text = .Cells(iRow, 7) End If Next End With End Sub Private Sub Command1_Click() Dim lstrow As Long 'ودا كود ترحيل البيانات ونفس الشئ مش جديد كل اللي اتغير اللي ذكرنااه If Text1.Text = "" Then MsgBox "íÌÈ ÇÏÎÇá ÌãíÚ ÇáÈíÇäÇÊ" Else lstrow = YSheet.Range("b20000").End(xlUp).Row + 1 YSheet.Cells(lstrow, "b").Value = Text1.Text YSheet.Cells(lstrow, "c").Value = Text2.Text YSheet.Cells(lstrow, "d").Value = Text3.Text YSheet.Cells(lstrow, "e").Value = Text4.Text YSheet.Cells(lstrow, "f").Value = Text5.Text YSheet.Cells(lstrow, "g").Value = Text6.Text Text1.Text = "" Text2.Text = "" Text3.Text = "" Text4.Text = "" Text5.Text = "" Text6.Text = "" MsgBox ("ÊãÊ ÇáÚãáíÉ ÈäÌÇÍ") End If End Sub Private Sub Command2_Click() 'ودا كود اظهار برنامج الاكسيل بردو غيرنا اللي اشرنا ليه فقط YXL.Visible = True End Sub Private Sub Command3_Click() ' ودا لاخفاء برنامج الاكسل YXL.Visible = False End Sub Private Sub Command4_Click() 'لحفظ البرنامج المفروض المتغير يكون شغال بس مش عارف سبب المشكلة ايه حاليا فقلت اجرب الكود العادي اشتغل تمام مشي حالك 'åäÇ ãÔ ÚÇÑÝ ÇáãÊÛíÑ åäÇ ÞÝÔ ãÚÇíÇ æãÔ ÚÇíÒ íÍÝÙ ÞáÊ ÇÌÑÈ ÇáßæÏ ÇáÚÇÏí ÇÔÊÛá ÞáÊ Òí ÇáÝá 'YWB.save ActiveWorkbook.save End Sub Private Sub Command5_Click() 'وطبعاخروج YXL.Quit Set YXL = Nothing End End Sub Private Sub Form_Load() 'هنا بنستدعي ملف الاكسيل من نفس مسار البرنامج بتاعنا ونفتحه YXL.Workbooks.Open App.Path & "/aseel.xlsx" 'اخفاء البرنامج بعد فتحه طبعا YXL.Visible = False 'هنا بقي قولنا له ان يخلي Ysheet دي تبقى الشيت الاول والاكس شيت تبقي الشيت التاني Set YSheet = YXL.Worksheets(1) Set XSheet = YXL.Worksheets(2) عادي ليبل وبياخد بياناته من خليه معينه Label7.Caption = YSheet.Range("a1").Value Label8.Caption = YSheet.Range("a2").Value With Combo1 'ودا ا لكمبوبوكس بندرج فيه بيانات الصف b For Each Data In YSheet.Range("b6:b" & YSheet.Cells(Rows.Count, "b").End(xlUp).Row) .AddItem Data Next End With End Sub Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer) ودا بقي عشان لما تدوس علي علامة الاكس فوق ميخرجشي من البرنامج ويسيب ملف الاكسيل مفتوح ومخفى '' YXL.Quit Set YXL = Nothing End End Sub وبكدا نكون انتهينا من وضع الاكواد اظن الكل واخد باله انه مفيش جديد وهو دا بالتحديد مفيش جديد كل اللي عملناه واحد تايه وعرفنا السكه خلاص وبعدين محدش ينسى يعمل ملف اكسيل اه بعد دا كله يجي حد يقولي البرنامج مش شغال ليه اقوله فين ملف الاكسيل بعد الاطلاع علي البرنامج هيجي واحد يقولي ايه القلب الجميل اللي علي الفورم دا اللي مكان السهم اهو دا من ضمن اللمسات الجمالية وبيتعمل ازاي يامعلم الشرح بسيط ف الصورة معلش بدل ما اكتب الماوس كتبت الموس شغال بقى اعذروني انا بعمل الشرح في وقت قياسي وانا شغال مرفق البرنامج ومعاه القلب عشان تعملوه مكان السهم يارب اكون وصلت المعلومة صح واي خطأ منى فدا لجهلى اعذروني منتظر الردود علي فكرة الدرس دا تقريبا بنسبة كبيرة يعتبرحصرى لمنتدى اوفيسنا انا بحثت عن ربط الفيجوال بالاكسيل كثيرا وكثيرا وكود من هنا وكود من هنا حتى اكتملت الصورة امامي وتوصلت لهذا والحمد لله مع تحياتي ياسر العربي يتبع ربط الفيجوال بالاكسل.rar
    1 point
  46. بسم الله الرحمن الرحيم 1- المكتبات والادوات DLL & OCX 2- كيفية تسجيل المكتبات والأدوات Dll & OCX في النظام 3- كيفية إضافة المكتبات وأدوات خارجية للفيجوال والعمل عليها ما هي فوائد استخدام ملفات ال DLL او لماذا نستخدم ملفات DLL: ماذا تعني DLL: هي اختصار لمجموعة الكلمات التالية Dynamic link libraries لمحة سريعة عن DLL: هي عبارة عن ملفات مترجمة(Compiled files) شبيهة الى حد بعيد جدا بالملفات التنفيذية و التي تحمل اللاحقةExe, ملفات ال DLL يمكن ان تحتوي على Codes او يمكن ان تحتوي على مصادر resources او ممكن ان تحتوي على بيانات Data و قد تجد DLL يحتوي على كل ما سبق ذكره, و لكن الفرق الجوهري بين DLL و Exe هو أنّ ملفات DLL لا يمكن تنفيذها بشكل مباشر و انما يتم استثمارها من قبل تطبيقات اخرى اي ان ملفات DLL ليست مستقلة بحد ذاتها و تحتاج الى تطبيق دائماً للاستفادة منها مع انها تحتوي على اكواد تنفيذية مثلها مثل exe و لكن لا يمكنها ان تعمل بمفردها و يمكنك تخيل ان ملفات DLL هي ملفات مساعدة للتطبيق للقيام بعمله. الهدف الرئيسي من وجود ملفات DLL هو مشاركة الاكود بين العديد من التطبيقات اي استخدام نفس ال DLL من اكثر من تطبيق سواء بوقت واحد او بشكل منفصل. والادوات ocx تشبه نفس وظائف dll بصورة كبيرة كيفية تسجيل الأدوات نفترض ان لدينا ملف dll او ocx نريد اضافة للنظام للعمل عليه من داخل الفيجوال بطريقة سليمة الطرق كثيرة ولكن نختصر ونضع الخلاصة نفترض انا لدينا اداة اسمها actskin4.ocx نقوم بنسخها لملفات النظام اذا كان 32 لملف c:\windows\system32\actskin4.ocx اما اذا كان النظام 64 bit فلا بأس من نسخ الملف مرتين في المسارات الاتيه c:\windows\system32\actskin4.ocx C:\Windows\SysWOW64\actskin4.ocx ونقوم بعمل نوت باد اذا كان النظام 32 نضع هذا السطر regsvr32 c:\windows\system32\actskin4.ocx ونحفظه بامتداد bat وليكن اسم الملف reg.bat اما نظام ال64 نضع الاسطر التالية regsvr32 c:\windows\system32\actskin4.ocx regsvr32 c:\windows\SysWOW64\actskin4.ocx وتعمل لكلا النظامين ويتم الحفظ ايضا بامتداد bat واسم الملف ليكن هكذا reg.bat وغالبا يتم فتح الملف بعد ذلك كمسئول كليك يمين وRun admin لتظهر نافذة تقول انه تم التسجيل بنجاح ولقد وضعت برنامج في المرفقات للتسهيل علي البعض في تسجيل الاداوت كيفية إضافة المكتبات وأدوات خارجية للفيجوال بعد ان قمنا بنقل الادوات الى ملفات النظام سواء 32bit or 64bit وتم تسجيلها كما بالشرح السابق نقوم بفتح مشروع جديد وبكدا نكون تعلمنا طريقة وضع الادوات علي الفورم ناتي لكيفية التعامل معها برمجيا وكمثال هنعمل علي نفس الاداة المدرجة في اعلاه وهي actskin4.ocx ما فائدة هذه الاداة : تقوم بتغيير المظهر العام لوجهه الفورم والازرار الى واجهات skinمعدة للتعامل مع هذه الاداة وهي من اللمسات الجمالية للبرنامج بتاعنا عيب الاداة : ان الليبل الاصلي لا يظهر عند تشغيل البرنامج ولا اداة image ويأتي مع الأداة ليبل بديل لليبل الاصلي يظهر مع الاداة وتستبدل الimage بال picture نأتي لكيفية التعامل معها برمجيا اولا نقوم بانشاء مشروع جديد واضافة الاداة كما سبق ويتم وضع الكود الخاص بالاداة في حدث تحميل الفورم وممكن وضعه باي حدث نشاء كزر مثلا لتغيير الskin كود التشغيل يجب اولا ان يكون لديك ملفات skin ليتم التطبيق عليها عن طريق الاداة قمت بارفاق بعض ال skin للتطبيق عليها ووضعتها داخل مجلد داخل البرنامج بتاعنا وسميته كمثال skin الكود البرمجي Private Sub Form_Load() ' سطر استدعاء وتحميل ملف الskin من مسار البرنامج داخل المجلد skin اسمه Yasser.skn Skin1.LoadSkin (App.Path & "/skin/yasser.skn") 'سطر تطبق ما تم استدعائه Skin1.ApplySkin Me.hWnd End Sub واحفظ مشروعك وقم بتشغيله لترى هذا شوف الفرق اي استفسارات توضع ف موضوع الردود والاستفسارات الى اللقاء والسلام عليكم مع تحياتي ياسر العربي يتبع مرفق برنامج تسجيل الاداوت والمشروع المنفذ ف الشرح RegOCX.rar مشروع لمسه جمالية.rar
    1 point
  47. الأدوات المهمة ووظائفها الخصائص الشائعة للأدوات نظرا لاهتمام بعض الاعضاء الذين لم يتعاملو مع واجهات البرمجة عموما سواء VBA or VB6 والاستفسارات الدائمة عن بدايات التعامل مع الفيجوال قمت بتوضيح الامور اكثر قليلا وكما قال احد الاخوة لي محتاجين نبدأ من تحت الصفر بداية هذه قائمة الادوات الموجودة علي يسار البرنامج خصائص الأدوات الشائعة الاستخدام الخصائص الشائعة: هناك مجموعة من الخصائص الشائعة الاستخدام والمتوفرة لمعظم الأدوات، سنقوم الآن بشرح أهم هذه الخصائص وسنؤجل الحديث عن باقي الخصائص فيما بعد. 1- الخاصية Name: تعتبر هذه الخاصية من أهم الخصائص على الإطلاق، وهي متوفرة لجميع الأدوات دون استثناء، وهذه الخاصية تحدد الاسم البرمجي للأداة، وهو الاسم الذي يستخدم عند كتابة شفرة تخص هذه الأداة مثل : Form1.Caption="Yasser" حيث Form1 تمثل اسم النافذة. عندما تضع أداة جديدة أو تضيف نافذة جديدة يتم وضع الخاصية Name افتراضياً لهذه الأداة وذلك بذكر اسم الأداة يليها رقم مثل Form1 و Form2 و Label1 و Label2 إلى آخره. والآن إذا كنت ترغب في تغيير هذا الاسم الافتراضي فعليك تذكر ما يلي: 1- يجب أن يبدأ الاسم بحرف ولا يجوز أن يبدأ برقم، ويجوز أن يتخلله أرقام. 2- يفضل أن يكون الاسم باللغة الإنجليزية، وذلك لتجنب المشاكل التي يمكن أن تحدث عند استخدام الأسماء العربية ( أتمنى قريبا يقال العكس) 3- يجب أن لا يتجاوز الاسم 40 حرفاً. 4- لا يجوز استخدام بعض المحارف مثل النقطة و الفراغ و الفاصلة و … 5- لا يجوز استخدام الكلمات المحجوزة مثل : FOR و WHILE و FUNCTION و … 6- يفضل استخدام الأسماء التي تدل على وظيفة الأداة، وتجنب الأسماء العشوائية. مثلاً: يمكنك تسيمة النافذة "F" بدلاً من "Form1" و لكن عندها ستصبح الشفرة على الشكل: F.Caption="Yasser" الخاصية Name متوفرة أثناء التصميم فقط، أي من المستحيل تغيير الخاصية Name ضمن الشيفرة وهناك العديد من الخصائص الأخرى تشترك معها بهذه الصفة. 2- الخاصية BackColor (لون الخلفيه): تحدد هذه الخاصية لون أرضية الأداة، وعند محاولة تغيير هذه الخاصية يظهر مربع صغير يحوي سهم ، عند الضغط على هذا المربع يظهر لوح الألوان الذي يمكننا من اختيار اللون الذي نريد . ونلاحظ في مربع الألوان وجود بوابتين الأولى Palette ومنها نختار ألوان ثابتة ، والثانية System ومنها نختار ألوان يستخدمها النظام Windows . 3- الخاصية Caption (العنوان): وهي تحدد النص الذي سيظهر على الأداة كعنوان لها، ويجب أن لا يتجاوز النص 255 حرفاً بما في ذلك الفراغات. 4- الخاصية Enabled (التمكين): تحدد هذه الخاصية فيما إذا كانت الأداة ستتأثر بالأحداث (النقر أو حركة الماوس) أم لا، حيث تأخذ القيمتين True تتأثر أو False لا تتأثر. لن يظهر تأثير هذه الخاصية إلا بعد تنفيذ البرنامج. 5- الخاصية Font (الخط): تستخدم من أجل تحديد شكل ونوع وحجم الخط الذي سيظهر به عنوان الأداة. 6- الخاصية ForeColor (لون الخط): وهي تحدد لون الخط الذي سيكتب به عنوان الأداة. 7- الخاصية Height: تحدد ارتفاع الأداة . 8- الخاصية Width: تحدد عرض الأداة. 9- الخاصية Left: تحدد مقدار بعد الطرف الأيسر للأداة عن الطرف الأيسر للنافذة. 10- الخاصية Top: تحدد مقدار بعد الطرف العلوي للأداة عن الطرف العلوي للنافذة. 11- خاصية Picture: وتستخدم لتحميل صورة ووضعها كخلفية للأداة. 12- خاصية Visible: وتستخدم لإظهار أو إخفاء الأداة أثناء التنفيذ. من المهم الآن أن تقوم بإضافة الأدوات وتجريب الخصائص السابقة، وتصميم واجهات مختلفة تتخيلها.
    1 point
  48. بسم الله الرحمن الرحيم اليوم سنتحدث - عن خصائص المشروع الخاص بنا كيفية فتح نافذة خصائص المشروع ومكونتها المهمة اولا نقوم بانشاء مشروع جديد كالعادة ونضع مثلا اتنين فورم وبعد الانشاء نقوم بالذهاب لخصائص المشروع كما موضح بالصورة فتظهر لنا النافذة التالية 1- المشروع الافتراضي ودا هنسيبه كدا 2- الفورم اللي محتاجينه يفتح عند تشغيل برنامجنا والوضع الافتراضي انه فورم واحد هو اللي بيفتح نفترض ان صممنا فورم اتنين علي اساس انه شاشة الدخول هنعمل ايه نغير من هنا ونخليها فورم اتنين بس يامعلم 3- اسم المشروع الافتراضي لو عاوزين كل ما نعمل مشروع بدل كلمة project نسميه اسم تاني عادي شغال 4- دا لو هترفق ملف مساعدة مع البرنامج باين انا شايف ان ننفض ليها نخش في المهم 5- Make ودي بقي الشغل المهم هنا ونشوف صورتها بقي 1- طبعا كلنا نعرف الإصدارات للبرامج اللي هي version ربنا كدا لما يكرمك وتبقي مبرمج قد الدنيا كدا وتلاقيك بتعمل برنامج اساسي كدا وبتعمل له اصدارات مختلفة من رقم واحد دا بنحدد رقم الاصدارة اللي بنعملها والافتراضي واحد ونغير زي ما احنا عايزين 2- عنوان المشروع ودا عشان بقي لزوم الكماليات عشان أي رسالة تنبيه مسج بوكس أي حوارات تظهر يبقي مكتوب فوقها في titlebar اسمنا كدا 3- ودي معلومات برنامجنا تحط فيه بقي كل بياناتك وحقوقك وشركتك وعلامات تجارية وملاحظات تظهر في خصائص برنامجنا. 4- ودي طبعا ايقونة المشروع بتاعنا النهائي واللي اخي عبد العزيز كان محتاجها بنختار ايقونة من ايقونات الفورمات الموجودة داخل المشروع طيب الايقونات الموجودة حاليا الافتراضية وشكلها رخم نعمل ايه ياعم عبد العزيز نروح للفورم واحد ونشوف كدا 1- نفتح لاختيار الايقونة المراد وضعها للفورم 2- نحددها ونضغط open لتظهر هكذا في اعلي يسار الفورم وايضا تظهر في الtaskbar عند فتح الفورم في البرنامج ملحوظة الايقونات اللي هتشتغل معانا الأيقونات بعمق ألوان 32bitاو اقل يعني 64 هتظهر اخطاء ومش هتنضاف للفورم نذهب بعد ذلك لخصائص المشروع ونروح ل Make كما بالصورة نجد ان الايقونة تغيرت لانه البرنامج بياخد الايقونة للفورم واحد افتراضي طيب لو غيرنا جبنا فورم اتنين كدا الايقونة الافتراضية للفورم اتنين لاننا لم نقم بوضع ايقونة له نرجع للفورم واحد ونحفظ مشروعنا ونحوله لملف تنفيذي ونشوف النتيجة وبكدا نكون خلصنا جزء خصائص المشروع والى اللقاء في درس اخر باذن الله تحياتي ياسر العربي يتبع
    1 point
×
×
  • اضف...

Important Information