اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

أ / محمد صالح

أوفيسنا
  • Posts

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

  • Days Won

    195

كل منشورات العضو أ / محمد صالح

  1. حد يجر ب يا جماعة لأن عندي مفيش حاجة بتنكتب بعد الضغط على p ويتم حذف محتويات مربع النص للكتابة من جديد والسلام عليكم ورحمة الله وبركاته
  2. تمام أخي بن علية لم أنتبه لأني في الإكسل كثيراُ ما نستخدم null في الأكسس ولأن المتغير من نوع integer فإذا كان فارغاً تكون قيمته صفر فتصبح الدالة Function MonthDays(myMonth As Integer, Optional myYear As Integer) As Integer MonthDays = Day(DateSerial(IIf(myYear =0, Year(Date), myYear), myMonth + 1, 0)) End Function والسلام عليكم ورحمة الله وبركاته
  3. إخواني الكرام بارك الله لكم وبعد إذن أخي الفاضل بن علية هذا كود بسيط إن كان الأمر هو فقط تحويل المعادلة لكود يؤدي نفس الغرض .... وقد أضفت إمكانية تحديد العام ليحضر عدد ايام هذا الشهر لهذا العام تحديداً وإذا لم يتم تحديد العام فيعتبره الكود هو العام الحالي الدالة: Function MonthDays(myMonth As Integer, Optional myYear As Integer) As Integer MonthDays = Day(DateSerial(IIf(myYear = Null, Year(Date), myYear), myMonth + 1, 0)) End Function
  4. أخي الكريم من الذي وضع حقل رقم العامل واسم العامل قبل حقل عدد الساعات؟؟!! إنه أنت .... وهذا يعني الاهتمام بحقل رقم العامل أولا ثم يليه في الأهمية اسم العامل ثم يليه في الأهمية عدد الساعات وإذا كنت تريد كما تقول حالياً : كتابة عدد الساعات ثم كتابة رقم العامل .... فكان من الطبيعي أن ترتب الحقول كما تريد. على العموم هذ تعديل بسيط ممكن يؤدي الغرض Mas_Roll2.rar
  5. بسم الله الرحمن الرحيم تكملة لمشوار الأساتذة وتجميعاً للجهود قمت بهذا العمل التجميعي وبعد إذن أخونا خبور خير تم تعديل الكود الخاص به كدالة mas_Max_Req1.rar
  6. تفضل أخي الكريم جرب هذا المرفق وبالنسبة لموضوع تنسيق التاريخ لا يشغلك لأن الأيام مكتوبة في الإكسل والقائمة تضع قيمتها كأرقام المهم أن هذا هو اليوم المطلوب وتم عرض قيمة الكومبوبوكس بتنسيق التاريخ في تسمية مجاورة Mas_Roll1.rar
  7. بارك الله لك أخي عبد الله ولكن هل جربت هذه المعادلة؟؟!! جرب أن تغيب أحد الموظفين في أيام أخرى غير الأحد بحيث يكون الأحد هو الأكثر غياباً عندي أحضرت نتائج غير صحيحة
  8. عذرا أخي الكريم لعدم فهمي المطلوب الخاص بعدد مرات غياب اليوم نفسه ولعمل هذا ضع هذه المعادلة في الخلية h7 =IF(MAX(AI7:AO7)>0;INDEX(AI7:AO7;MATCH(AG7;$AI$6:$AO$6;0));0) وبالنسبة لعمل كل هذا بمعادلة واحدة فلست متفرغاً لدرجة البحث فيها مع إمكانية حدوثها إن شاء الله
  9. تفضل أخي الكريم تم التحايل على الموضوع بحيلة بسيطة وهي عمل جدول يخص عدد مرات الغياب لكل يوم من أيام الأسبوع ثم إحضار اسم اليوم الذي يحتوي على أكبر عدد وربما يكون لدى الإخوة حلول أخرى mas_Max_Req.rar
  10. الحمد لله هكذا نستعمل هذا الكود في ربط البرنامج بجهاز المستخدم من خلال رقم الهارد ورقم المعالج ورقم اللوحة الأم معاً ونحن متأكدون من عمله على كل أنظمة تشغيل ويندوز للعلم رقم الهارد ديسك الذي يحضره الكود لا يتغير بعد الفورمات كما هو الحال في هذا الكود CreateObject("Scripting.FileSystemObject").GetDrive("c:\").serialnumber ولكن عذراً لم أتبين من الإخوة هل الكود يعمل في ويندوز 64 بت بدون تغيير الكود إلى Win64_ أم احتاج الأمر لتغييرها؟؟!!
  11. بسم الله الرحمن الرحيم أود أولا أن أشكر كل من يتعاون ويساهم في هذه الدورة التي تدل على أن التعاون أساس التقدم وأواصل مع أحبتي الفصل الرابع في دورة فيجوال بيسك التطبيقات vba نموذج كائن الإكسل excel object model مقدمة نظرية البرمجة التقليدية كانت لا تعتمد على أسلوب الكائنات فكان المبرمج يكرر الكثير من الأكواد لتحديد الكائن الذي يعمل عليه ولكن تغير الأمر بظهور البرمجة كائنية التوجه object oriented programming أو اختصاراً oop ولنتعرف أولا على معنى الكائن: الكائن هو وحدة كاملة لها خصائصها وطرقها (أفعالها) فعلى سبيل المثال: الإنسان كائن له خصائصه ومنها اسمه وجنسه وطوله ولون شعره وهكذا وله أيضا أفعاله الخاصة به فالإنسان: يمشي يتحدث يسكت يقف يجلس وهكذا. وكل تطبيق في الأوفيس له نموذج كائن خاص به يمكنك استخدامه من الفيجوال بيسك للتطبيقات vba والتحكم فيه بدءً من التطبيق ككل حتى أي خلية في أي ورقة عمل. ويندرج تحت الكائن الرئيسي كائنات كثيرة فرعية (كخصائص للكائن الأكبر) وكل كائن له خصائصه وله طرقه (أفعاله) ويوجد في الإكسل أكثر من 200 كائن ولهم أكثر من 5000 خاصية وطريقة وبالتالي يصعب تذكرهم جميعاً وهنا يظهر دور مستعرض الكائنات object browser بالضغط على F2 من لوحة المفاتيح ، ويوجد أيضاً ما يسمى بمجموعات الكائنات collections وهي مجموعة من الكائنات التي لها نفس عدد الخصائص والطرق فمثلا: محمد و احمد ومحمود يمكن جمعهم في مجموعة الذكور مثل workbooks للتعامل مع مجموعة المصنفات المفتوحة و worksheets للتعامل مع أوراق عمل المصنف النشط أو أي مصنف يتم تحديده ، ولكن من أهم هذه الكائنات وأكثرها استخداماً: application التطبيق و workbook المصنف و worksheet ورقة العمل و chart التخطيط (الرسم البياني) و range المدى و dialog صندوق حواري. وسوف نتحدث عن كل كائن من هذه الكائنات بصورة مختصرة: * التطبيق application هو أول كائن وكل الكائنات الأخرى أبناء له ويمكن الاستغناء عنه في حالة وجود الخاصية المستعمله أو الطريقة ضمن الكائن عام <globals> في مستعرض الكائنات بمعنى أنه يمكنك استعمال أي من السطرين التاليين للتعامل مع الخلية النشطة. application.activecell أو activecell وبالنسبة للخصائص أو الطرق التي لا توجد ضمن العام <globals> يجب كتابة مسارها كاملاً بهذه الصورة فمثلا: (لإيقاف تحديث الشاشة) Application.ScreenUpdating = False ولن تحصل على النتائج المطلوبة إذا استعملت ScreenUpdating = False ويمكنك البدء في مدارسة خصائص وطرق أي كائن مثل application عملياً بكتابة اسم الكائن في بداية السطر ثم نقطة ستظهر قائمة بكل الخصائص والطرق المتاحة لهذا الكائن. (فقط يلزمك ترجمتها ومعرفة طريقة استخدامها وهذا ما ستتحدث عنه الفصول القادمة إن شاء الله في الدورة) * المصنف workbook للتعامل مع المصنف المفتوح ويمكنك استخدام مجموعة المصنفات workbooks المزيد من المعلومات في الفصل التاسع. * ورقة العمل worksheet للتعامل مع ورقة العمل المحددة ويمكنك استعمال مجموعة worksheets المزيد من المعلومات في الفصل العاشر. * المدى range للتعامل مع أي مدى حتى وإن كان خلية واحدة مثال: (للتعامل مع الخلية a1 ) range(“a1”) المزيد من المعلومات في الفصل 11 * مربع الحوار dialog للتعامل مع مربعات الحوار الموجودة ضمن الإكسل ويمكن استعمال مجموعة dialogs فمثلا لعرض الصندوق الحواري الخاص بحفظ باسم save as نستخدم Application.Dialogs(xlDialogSaveAs).Show المزيد من المعلومات في الفصل 12 * التخطيط chart للتعامل مع الرسم البياني وتحديد خصائصه وأفعاله ممن خلال الكود المزيد في الفصل 13 === للتعامل مع الخصائص نستعمل الصورة العامة التالية: القيمة = الخاصية.الكائن مثال: لتغيير قيمة الخلية a1 إلى رقم 45 range(“a1”).value=45 === للتعامل مع الطرق (الأفعال) نستعمل الصورة العامة التالية: باقي الخيارات الطريقة.الكائن مثال: لنسخ ورقة العمل الأولى بعد الثالثة Worksheets(1).Copy After:=Worksheets(3) === للتعامل مع المجموعات يتم استعمال رقم (مسلسل - ترتيب) الكائن في المجموعة مثال: للتعامل مع ورقة العمل الثانية worksheets(2) ****************************** وبإذن الله في الجانب العملي من هذا الفصل سوف نتناول ما يلي: استخدام مستعرض الكائنات إنشاء كائن تغيير خصائص كائن مقارنة الكائنات استخدام طرق(أفعال ووظائف) كائن عرض صناديق الحوار الموجودة ضمن الإكسل ========= والسلام عليكم ورحمة الله وبركاته
  12. سعيد جدا بتواصلك أهي الكريم أبوخليل إذا كانت النتيجة لديك صفر بالمائة ولم يظهر شيء فنريد نحن العرب تعديل الكود ليعرض ما يناسب نسخ 64bit هل تشترك معي فيها؟ حاول أن تعدل في الكود الخاص بالدالة وتستبدل Win32_ بما يناسبك Win64_ وجرّب هل ستنفع أو لا؟؟
  13. الحمد لله ولكن أتمنى أن يجرب الكود أحد الإخوة الذين يملكون أنظمة من نوع 64bit
  14. شكرا لمرورك أخي الكريم نارت ولكن ياريت معلومات تفصيلية يعني هل ظهر عندك رقم المازر بورد؟ أم لا؟ نسختك 32bit أم 64bit ؟
  15. بسم الله الرحمن الرحيم السلام عليكم ورحمة الله وبركاته أثناء تجولي في الإنترنت وجدت ملفاً يعرض معلومات النظام ومنها مثلا سيريال الهارد ديسك رقم المعالج رقم المازر بورد وغيرها الكثير فأحببت مشاركتكم فيه .... أترككم معه وأتمنى تجربة الملف على أنظمة تشغيل مختلفة يعني xp و 7 و vista وسيفن و 8 و 8.1 و 10 وينندوز بالنواة 32 أو 64 وإخباري بالنتيجة SystemInfo.rar
  16. بارك الله لك على حلك أخي العيدروس حل موفق ............. ولا يهمك أخي الكريم المهم أن نتعاون جميعا في الوصول للحل
  17. تفضل أخي الكريم عدل كود الموديول إلى ما يلي: Public appTime As Date Public Sub Blink() If Sheets(1).Range("A1") <= 0 Then With Sheets(1).Range("A1").Interior If .ColorIndex = 2 Then .ColorIndex = 3 Else .ColorIndex = 2 End If End With appTime = Now() + TimeValue("00:00:01") Application.OnTime appTime, "Blink" Else Sheets(1).Range("A1").Interior.ColorIndex = 2 End If End Sub ثم اضغط دبل كلك على sheet1 ثم الصق هذا الكود Private Sub Worksheet_Activate() Call Blink End Sub Private Sub Worksheet_Change(ByVal Target As Range) Call Blink End Sub
  18. بارك الله لك أخي يحياوي واسمح لي بهذا التوضيح هذه الدوال يمكن التعامل معها في vb و vba و vb.net الصورة العامة للتعامل مع الإعدادات من خلال الريجيستري لحفظ الإعدادات في الريجيستري SaveSetting( ByVal AppName As String, ByVal Section As String, ByVal Key As String, ByVal Setting As String) وهي بالترتيب كالتالي : اسم التطبيق ثم اسم القسم ثم اسم المفتاح ثم قيمة المفتاح (وجميعها مطلوب) وللقراءة من الريجيستري GetSetting( ByVal AppName As String, ByVal Section As String, ByVal Key As String) وترجع لنا قيمة من نوع النصي string ونلاحظ أنه يمكننا الاستغناء عن قيمة المفتاح لأنها اختيارية ولحذف إعداد من الريجيستري لحذف التطبيق ككل DeleteSetting(ByVal AppName As String) ولحذف القسم المحدد فقط DeleteSetting(ByVal AppName As String, ByVal Section As String) ......... والحمد لله أولا وآخرا
  19. أشكر جميع الإخوة على المرور ولكن اسمح لي أخي أبا نصار العيدروس ماذا تعني بـ "طريقة تضليل الكود الغير مستخدم" وبالنسبة لطلبك الثاني فمضمونه هو الهدية الثانية وإن كان طلبك الأول يخص كيفية تلوين الكود داخل نافذة الفيجوال بيسك كما يظهر في vb.net فهذه هي الهدية الأولى التي وعدتكم بهما لمن يكتشفهما وفقنا الله وإياكم لكل ما يحب ويرضى
  20. من أروع ما قرأت في موضوع رضا الناس هذه القصيدة التي لم أقف على صاحبها ولا حتى عنوانها ضحكتُ فقالوا ألا تحتشـم؟ ........ بكيت فقالوا ألا تبتسم؟ بسمت فقالوا يرائـــــــــي ........ عبست فقالوا بدا ما كتم صمتّ فقالوا كليل اللسان ........ نطقت فقالوا كثير الكلم حلمت فقالوا صنيع الجبان ........ ولو كان مقتدرا لانتقم بسلت فقالوا لطيشٍ بــــه ........ وما كان مجترئا لو حكم يقولون شـــذٌ إذا قلـــت لا ........ وإمّعةٌ حين وافقتـــــهم فأيقنتُ أني مهــــــما أُرِدْ ....... رضا الناس لابد من أن أُذَم طبعا هذا يخص الناس الذين ليس لهم همٌ سوى تتبع أخطاء الناس وإظهار أخطائهم حتى وإن لم يخطئوا أما باقي المعتدلين من الناس فيستسحنون الفعل الحسن ويستقبحون الفعل القبيح
  21. والآن مع الجزء الثاني من الفصل الثالث لدورة vba والذي يحتوي على: إنشاء ماكرو بدون معاملات (parameters) إنشاء ماكرو بمعاملات إنشاء دالة بدون معاملات (parameters) إنشاء دالة بمعاملات استدعاء ماكرو أو دالة من داخل ماكرو استعمال نافذة التصحيح debug ربط النصوص والمتغيرات ونتائج الدوال ببعض إضافة تعليق التحكم بالتعليقات بالقائمة المتخصرة ولا ينقصني سوى دعاؤكم لي بالخير والتوفيق في الدنيا والآخرة
  22. أخي عبد القادر ياريت تذكر لي رقم الخطأ ونص رسالة الخطأ ونوع نظام التشغيل لديك حتى أتمكن من معرفة سبب الخطأ وعلاجه
  23. تفضل أخي الكريم هذه فكرة بسيطة لعمل المطلوب mas_showform_1st_time_only.rar
×
×
  • اضف...

Important Information