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

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

  1. ابوخليل

    ابوخليل

    أوفيسنا


    • نقاط

      7

    • Posts

      12,179


  2. عبدالفتاح في بي اكسيل
  3. jjafferr

    jjafferr

    أوفيسنا


    • نقاط

      4

    • Posts

      9,814


  4. بن علية حاجي

    بن علية حاجي

    الخبراء


    • نقاط

      3

    • Posts

      4,342


Popular Content

Showing content with the highest reputation on 15 ديس, 2022 in all areas

  1. السلام عليكم الخلل كان في تنسيقات الصفحة (ناحية الطباعة-تحجيم الصفحة-فاصل الصفحات..) وقد تم تعديلها... الملف.rar
    3 points
  2. اضفت حقل كمعرف userid جعلته في الجدول الاول قابل للتكرار وفي الثاني غير قابل للتكرار ( افتح الجدول الاول سترى ان احد الاسماء مكرر ) امسح البيانات من الجدول الثاني شغل النموذج وانقر على زر الالحاق مرة ومرات عديدة .. ارجع الى الجدول الثاني لترى النتيجة بعينك Database9.accdb
    2 points
  3. وعليكم السلام 🙂 module = موديل = وحدة نمطية Function = دالة API = مكتبة وندوز 1. لا تستطيع ان تستخدم نفس الاسم لهذه الكائنات ، فمثلا لا تستطيع تسمية دالة ووحدة نمطية بنفس الاسم ، 2. اذا عندك مكتبة وندوز في وحدة نمطية (مثلا لفتح نافذة لإختيار ملف من الكمبيوتر) ، ثم اضفت مكتبة في وحدة نمطية اخرى (لفتح نافذة لإختيار مجلد من الكمبيوتر) ، فلا تستطيع ان يكون عندك المكتبة في الوحدتين ، فيمكنك ان تحذف احدهما (بغض النظر من اي وحدة نمطية) ، مع مراعاة ان تجعل تصريح هذه المكتبة Public بدلا عن Private حتى يتسنى للوحدة الاخرى قراءتها. 3. في صفحة الكود ، دائما استعمل: أ. في اعلى الصفحة: Option Compare Database Option Explicit وخصوصا السطر الثاني ، وانا جعلت الاكسس يكتبه لي بطريقة تلقائية عن طريق بس بهذا الاختيار ، لازم تقوم بتعريف جميع متغيرات الكود عن طريق Dim واخواتها ، ب. VBE>Debug>Compile للحصول على المشاكل في الكود ، حتى من كثر ما استعين به لكشف مشاكل البرمجة ، فوضعت ايقونته خارج القائمة لسهولة الوصول اليها . اذا الخطوات اعلاه لم تكشف لك عن مكان المشكلة ، فهذا معناه ان ملف الاكسس قد يكون معطوب ، وعليه اعمل ملف جديد ، ثم استورد جميع كائنات الملف القديم الى الجديد : تكون في الملف الجديد ، ثم تستورد كائنات الملف القديم : . اما بالنسبة للملف الجديد ،فإعداداتي الافتراضية هي : . جعفر
    2 points
  4. صلوا على النبي يا حبايب مش تزعلوا نفسكم هذه صورة توضح مكان الايقونة اخى @abdelfattahbadawy يتم كتابه الكود بعد الضغط الايقونه ليكون شكل الكود جميل وحلو ليسهل على الاساتذه المساعده اخى @عبدالفتاح في بي اكسيل ال ٥٠ مشاركه لم يكن بها غير عدد ٣ مشاركات وضع اخى @abdelfattahbadawy فيها كود نلتمس العذر لانفسنا اخوتى
    2 points
  5. السلام عليكم رغم وجود بعض الملاحظات في تصميم الجداول التي يتطلبها الالحاق ، ولكن دعنها نتركها لوقتها الاستفسار : المنطق يقول ان الالحاق يتم على موظف موظف لانه لا يتصور الحاق الجدول الاساس بجميع بياناته لمرات عديدة ، والسبب عند الإلحاق للمرة الثانية سوف تظهر لك الرسائل بجميع الاسماء الموجودة الا اذا كنت تريد هذا الفعل لمرة واحدة وهي عمل تحديث لبيانات الجدولين بحيث تنقل الاسماء الغير موجودة في الجدول الثاني تنقلها اليه من الجدول الأول
    2 points
  6. السلام عليكم ورحمة الله وبركاته تحية طيبة وبعد اهدى هذا الشيت الى منتدى اوفيسنا واساتذته الذين تعلمنا على ايديهم واهديه الى مهندس المنتدى مهندس طارق محمود الذى لم يبخل على فى تقديم الحلول والمساعدات ، وحقيقة وجودى فى منتدى اوفيسنا يعد تكريما لى وشرف الشيت سهل الاستخدام ولا يحتاج الى شرح يوجد ايقونة باسم الصور اذا حبيت تضيف صورة للطالب وبجوار زر الصور زر اخر لمعاينة الصورة ان حبيت تعمل معاينة للصور 1795607452_.xlsm
    1 point
  7. السلام عليكم 🙂 الظاهر هذا موسم الترقيات ، فرجاء تهنئوا معي اخواي @ابو البشر و @kkhalifa1960 على ترقيتهم لرتبة خبير 🙂 لازلنا نبحث لنزيد رصيد المنتدى من الخبراء 🙂 جعفر
    1 point
  8. مافي اي مشكلة من تغيير اسم الوحدة النمطية ، كل شيء بيشتغل طبيعي ، لأنه مافي اي امر ينادي اسم الموحدة النمطية 🙂 فتغيير module1 الى module11 (طبعا اذا كانت وحدة نمطية) لن يعمل لك اي مشكلة. جميع الاوامر تنادي الدوال ومكتبات الوندوز
    1 point
  9. كما ذكرت لك ان الطريقة غير منطقية ، فمجرد ان تنقر مرة اخرى ستظهر لك رسائل بجميع الاسماء .. لنفترض ان لديك الف اسم حينها ستظهر لك الف رسالة الحل الامثل الذي اراه ان يكون الإلحاق صامت حتى لو نقرت على زر الإلحاق الف مرة ، ولكن النتيجة ستكون الحاق ما يستجد في جدول tt بشرط الا يكون موجود في جدول xx ولكن بشرط تعديل طفيف في تصميم الجداول 1- اضافة حقل نصي لكل اسم كـــ رقم الهوية او رقم الوظيفة ونحو ذلك مع ملاحظة ان يكون فريدا غير قابل للتكرار في جدول xx سوف اعدل على المرفق حتى تتضح لك
    1 point
  10. @abdelfattahbadawy جرب هذا الماكرو Dim ct As Long, destPath As String Sub MOVE_FILES() Dim Fso As Object, Fldr As Object, f As Object ', ct As Long Dim sourcePath Dim FileInFolder As Object sourcePath = "C:\Users\Administrator\Downloads\nnnn\" 'Change path and folder name to suit destPath = "C:\Users\Administrator\Downloads\mmm\" 'Change path and folder name to suit Set Fso = CreateObject("Scripting.FileSystemObject") LoopFolder (sourcePath) Set Fldr = Fso.GetFolder(sourcePath) For Each f In Fldr.subfolders LoopFolder (f) Next f If ct > 0 Then MsgBox ct & " pdf files have been moved" Else MsgBox "No pdf files found in the source folder" End If End Sub Private Function LoopFolder(AFolder) Set Fso = CreateObject("Scripting.FileSystemObject") Set ThisFolder = Fso.GetFolder(AFolder) For Each FileInFolder In ThisFolder.Files If FileInFolder.Name Like "*.pdf*" Or FileInFolder.Name Like "*PDF*" Then ct = ct + 1 FileInFolder.Move destPath End If Next FileInFolder End Function
    1 point
  11. نعم يمكن انا وضعت الكود في حدث الحالي للنموذج انسخ الكود وضعه في حدث بعد التحديث للحقل الذي ستكتب فيه رقم الصنف الجديد ملحوظة : لا بأس ان يعمل الكود في الحدثين معا
    1 point
  12. @hassona229 شكرا على مرورك اعتذاري على قرائتي الخاطئة لعدد المشاركات😱 فقط من باب النصيحة اردت ان ينظم كوده حتى يساعده بقية الاعضاء عن نفسي انا لا استطيع قراءة الكود بهذه الطريقة .
    1 point
  13. السلام عليكم بعد اذن استاذي العزيز @jjafferr اتمنى ان تجد ماتبحث عنه في هذه الروابط تحياتي للجميع
    1 point
  14. حسب مافهمت تفضل أخي هل هذا هو المطلوب افتح الفورم واختار الاسم ووافني بالنتيجة معك Database8-1.accdb
    1 point
  15. وعليكم السلام بعد اذن اخي وأستاذي @سامي الحداد من الواضح من خلال ملفك انك تريد برنامج متكامل للحضور اليومي والساعات الاضافية وغيرها ابحث في المنتدى عن برامج الحضور والانصراف والساعات الاضافية ..واتذكر ان للاخ @عمر ضاحىربنا يكرمه مثل هذا البرنامج اما اذا كان لديكم بصمة الحضور والانصراف فسيسهل عليك الكثير
    1 point
  16. وعليكم السلام رحمة الله أهلا بك @النجاشي أجريت تعديلا على بعض الإجراءات.. وأنشأت لك وظيفة تقوم بالبحث عن اسم الملف أبتداءً من الدليل الرئيسي إلى أدنى مستوىً من الأدلة الفرعية. فإن كان الملف موجودا؛ أعادة اسم الملف مع الدليل.. الوظيفة مع التعديلات Public Function XPath() XPath = CurrentProject.Path & "\src\" End Function Public Function FSO() As FileSystemObject Set FSO = New FileSystemObject End Function Public Function GetFileDirectory(MainPath As Object, Optional FileName As Variant) Dim OFIL As Scripting.File, OFILS As Scripting.Files Dim OMFD As Scripting.Folder, OSFD As Scripting.Folder Static XFileName As String, FilePath '.. Static Declaration reserved value when function recoll '-- get filename in first time call and reserved value If Not IsMissing(FileName) Then XFileName = FileName End If '-- loop for subfolders in his parent folder For Each OSFD In MainPath.SubFolders Set OMFD = FSO.GetFolder(OSFD.Path) Set OFILS = OSFD.Files '-- loop for file in each folder For Each OFIL In OFILS If OFIL.Name = XFileName Then FilePath = OFIL.Path GoTo TheEnd End If Next '-- Function recoll himself with subfolder GetFileDirectory OSFD Next TheEnd: '-- Function return filepath if file found GetFileDirectory = FilePath End Function اظهار المرفقات .zip
    1 point
  17. وعليكم السلام ورحمة الله وبركاته بدون اعتذار اخى نحن نذكر بعضنا بعضا جرب المعادله بعد وضعها في مكانها الصحيح لكتابة الاكواد والمعادلات =IF(G7*0.1<250,250,IF((G7*0.1)>300,300,G7*0.1)) او هذه =IF(G7*0.1<250;250;IF((G7*0.1)>300;300;G7*0.1)) لاختلاف الفاصله والفاصله المنقوطه
    1 point
  18. السلام عليكم ورحمة الله وبركاته عذرا استاذنا انا للاسف علشان كتبت كذا مرة الاستفسار وحذفته لاكثر من مرة لمراجعتى له لانن اريد ان يكون استفساري واضح تقبل اعتذاري والسلام عليكم ورحمة الله وبركاته
    1 point
  19. الف الف مبروك نسئل الله لكم التوفيق والنجاح وان يجزيكم عنا خير الجزاء على ما كل ما تبذلوه من جهود في سبيل نشر العلم والمعرفة دمتم رائعين
    1 point
  20. ضع في موديول عادي Public dTime As Date Sub KillUserForm() Unload UserForm1 End Sub في موديول يوزرفورم Private Sub UserForm_Initialize() CTime = Time + TimeValue("00:00:10") Application.OnTime CTime, "KillUserForm" End Sub
    1 point
  21. وعليكم السلام لا تنتظر المساعدة من أحد بدون رفع ملف مدعوم بشرح كافى عن المطلوب !!!!
    1 point
  22. بعد وعليكم السلام ورحمة الله وبركاته جرب المعادلة =IF(G7*0.1<250,250,IF((G7*0.1)>300,300,G7*0.1))
    1 point
  23. المثال المرفق يبين كيفية اختيار بيانات من مجال محدد عن طريق كومبو و اظهار النتيجة كصف فى مكان آخر و لأن هذه الطريقة تعيد القيمة فى خلية واحدة فقط فقد تم الاستعانة بالدالة vlookup لعرض باقي القيم أولا : من تخصيص اليقونات اضغط علي صندوق الادوات Toolbox و ختار القائمة المنسدلة combo box و ضعها فى ورقة العمل اختار القائمة المنسدلة بالزر الايمن ثم Format Control control وحدد مجال الادخال و النتيجة ( راجع المثال ) combo1.xlsx
    1 point
  24. ترليون مبروك أعانكم الله على حمل المسؤولية
    1 point
  25. السلام عليكم كما يظهر لك يوجد تعارض او تكرار وظيفة داخل الوحدةالنمطية اكتشف بنفسك هذا التعارض : افتح محرر اليجوال بيسك ( alt + f11 ) من الادوات في الاعلى اختر Debug انقر على اول خيار compile سوف ينقلك الى مكان الخطأ
    1 point
  26. طيب جرب ان تضع المعيار "رئيس لجنة" Or "مراقب أول" او اعطنا مثال في واحد من السجلات
    1 point
  27. يمكنك اختيار السطر من الليست بوكس وتعديلها من خلال مربعات النص . حينها لا تحتاج مربعات النص عند التعديل وهذه الطريق اشبه بان تقوم بالتعديل من داخل الورقة . حقيقة كنت او د ان اجرب هذه الاداة لكن للاسف غير موجودة احتاج الى تنصيبها ، لا اعلم عن هذه الاداة وما غايتها بالضبط ولا اجد العديد من المحترفين بالبرمجة يستعين بهذه الاداة .
    1 point
  28. لم يكن هذا سؤالك من البداية . اقرا توقيعي قبل ان تضيف اسئلة جديدة . يمكنك اضافة اجراء في بداية الكود لالغاء الحماية وفي نهايته لاعادة الحماية حيث سيقوم بفك الحماية ثم تنفيذ الكود ثم اعادة الحماية من جديد. تحياتي.
    1 point
  29. كان من الاجدر ان ترفق ملف مادام اقتراح @hassona229 ليس ما تريده حينها ستضطر العمل مع كود معين . لا اعلم اذا فهمتك جيدا هذا الماكرو سيقوم بالبحث في كل الاوراق عن الخلايا التي تحتوي على فاصلة بدون اختيار اي خلية Sub Replace_marks() Const MCOMMA = "," Const MDOT = "." Dim ws As Worksheet For Each ws In Worksheets ws.UsedRange.Replace MCOMMA, MDOT, xlPart Next ws End Sub
    1 point
  30. وعليكم السلام ورحمة الله وبركاته أخي العزيز @حيدر البكري الرجاء ارفاق ملفك مع الشرح حتى يتسنى لاخوانك المساعدة لانه من الصعب في هذه الحالة معرفة كيفية عمل برنامجك الكل هنا يحب المساعدة بقدر المستطاع ولكن بدون الملف لن تجد من يجيب. تحياتي
    1 point
  31. حياك الله طبعا سالت خبراء لماذا لا يتم ارسال مباشرة الى اليوزر فكان الجواب حماية من تلقي البريد العشوائي طبعا ممكن اضافة البوت الى جروب وارسال رسايل الى الجروب اطلعت على الفيديو الاصلي للمراسلة بالواتس اب. https://www.youtube.com/watch?v=UX-5cFp8Yo8 وجدت ان البرنامج للتليجرام المعروض ب 25دولار قائم على نفس الفكرة حيث تتم كتابة رسالة علي الواتس بالويب هكذا Https/wa.me/phonenumber?text=messagetext طبعا اذا عرفنا كيف نكتب رسالة بالتليجرام بالويب بنفس الفكرة ازعم اننا نستطيع ام نراسل اليوزرات على التيليجرام بنفس الطريقة اما بالنسبة لارفاق الملف ستجده مع ملحقات الفيديو
    1 point
×
×
  • اضف...

Important Information