نجوم المشاركات
Popular Content
Showing content with the highest reputation on 05/29/25 in مشاركات
-
أخي @algammal جزاك الله خيرا على كلماتك الطيبة وطرحك الرائع وأسأل الله أن يجعل عملنا هذا في ميزان حسناتنا جميعا سررت كثيرا بتقديرك وتشجيعك الكريم وهذا هو الدافع الحقيقي للاستمرار والعطاء بخصوص الملاحظات التي أشرتم إليها في مشاركتكم السابقة للأستاذ @عبدالله بشير عبدالله جزاه الله خيرًا على تفانيه الدائم في إثراء المواضيع بمساهماته القيمة فقد تم الاطلاع عليها بعناية والعمل على تطبيقها على الـ UserForm أيضا وذلك لضمان تجربة أكثر تكاملا وسلاسة في الأداء 1) قائمة أسماء أيام الأسبوع في الخلايا (H5) و(K5) تم إضافة ميزة البحث حسب اليوم بشكل مباشر وذلك من خلال استبدال المعادلات في ورقة DATA لتتوافق مع اللغة العربية بالشكل التالي: يوم تاريخ الميلاد =IF(I5="خطأ بالرقم القومى", "", IF(I5<>"", CHOOSE(WEEKDAY(I5, 2), "الإثنين", "الثلاثاء", "الأربعاء", "الخميس", "الجمعة", "السبت", "الأحد"), "")) يوم تاريخ المعاش =IF(L5="", "", CHOOSE(WEEKDAY(L5, 2), "الإثنين", "الثلاثاء", "الأربعاء", "الخميس", "الجمعة", "السبت", "الأحد")) 2) ملاحظات الخلية (M5) نظرا لاستخدام UserForm فلا حاجة لإدراج قائمة منسدلة يدويا لأن عناصر الـ ComboBox تتعرف تلقائيا على القيم المختلفة الموجودة في الأعمدة مع الحرص على عدم تكرارها هذا يسهل عملية التصفية ويجعل الواجهة أكثر ديناميكية وسلاسة في الاستخدام 3) الخلية (A5) والبحث بالترقيم التسلسلي: تم تجاهل الترقيم التسلسلي في البحث لأنه لم يعد ضروريا مع اعتماد واجهة الـ UserForm التي تتعامل مع البيانات مباشرة وتغطي كافة الأعمدة المتوفرة ضمن النطاق A:M في الرقتين (Data و معاشات) ومع ذلك إذا كانت هناك حاجة حقيقية لإستخدام المسلسل لأغراض معينة (مثل تتبع أو فرز إضافي) أو البحث بواسطته فيمكننا طبعا إضافته بكل سهولة لا ننسى تقديم الشكر الجزيل لكل من الأساتذة @عبدالله بشير عبدالله و @Foksh الذين ساهموا في إثراء الموضوع بملاحظاتهم القيمة وجهودهم المباركة جزاكم الله خيرا توحيد البحث في شيت واحد v4.xlsb1 point
-
1 point
-
تعقيباً على ما أشار إليه المهندس @Moosak ، ومن باب التوضيح ، فإن الترتيب المثالي ( من الناحية الفنية والأداء ) يجب أن يكون :- الثوابت ( Constants ) يجب أن تظهر بعد الإعلانات لأنها قد تعتمد على قيم من الإعلانات . الإعلانات ( Declares ) يجب أن تكون في البداية لأن الكود البرمجي يعتمد عليها . وضع الكود البرمجي في النهاية يجعل الكود أكثر تنظيماً وسهولة في القراءة . فشكراً للفت الإنتباه لهذه النقطة ، وقد تم الانتهاء منها بإذن الله تعالى .1 point
-
مع احترامي الكامل للاستاذ المحترم الذي علق علي الطلب بزيارة موضوع للنقاش وان هناك اداه لم يتم الانتهاء منها للان ولم يتم رفعها للان اولا شكرا لحضرتك ومش معقول ان اناعندي مشكله مش عارف احلها انا قلت انا لست بخبير اشترك في نقاش اداه لم تتم بعد كان الاولي حل مشكلتي ومش من المنطق انتظر حتي تنزل هذه الاداه وال في الغالب بعد نجاحها لن تكون مجانية او لو لوجه الله علاوة علي اني احتاج حل هذه المشكلة حاليا مع خالص احترامي لشخصكم الكريم1 point
-
ولأجمل هو تشريفكم لنا بملاحظاتكم ومروركم العطر .. بارك الله فيكم ، وهي ما زالت في طور التحديث كلامك سليم ، وكانت من ضمن الاحتمالات التي مررت بها ، ولكن لله الحمد تم إضافة التعديل وأصبحت النتيجة لأول تجربة لك = '=================================================== ' API Code Converter for Dual Compatibility (32-bit & 64-bit) ' Developed By Foksh (Officena.Net) ' Generated on: 2025-05-29 10:34:09 ' Tool version: v1.3 '=================================================== #If VBA7 And Win64 Then ' 64-bit declarations Public Declare PtrSafe Function CopyFile Lib "kernel32" Lib "kernel32" Alias "CopyFileA" (ByVal lpExistingFileName As String, ByVal lpNewFileName As String, ByVal bFailIfExists As Long) As Long #Else ' 32-bit declarations Public Declare Function CopyFile Lib "kernel32" Alias "CopyFileA"(ByVal lpExistingFileName As String, ByVal lpNewFileName As String, ByVal bFailIfExists As Long)As Long #End If لمتابعتكم إن كانت النتيجة صحيحة .. جزاااكم الله خيراً تم الاطلاع واكتساب الفائدة . والتجربة الثانية ، بعد التحديثات الحالية كانت نتيجتها = '=================================================== ' API Code Converter for Dual Compatibility (32-bit & 64-bit) ' Developed By Foksh (Officena.Net) ' Generated on: 2025-05-29 10:37:15 ' Tool version: v1.3 '=================================================== Private Const KEYEVENTF_KEYUP = &H2 ' Get the current state of the NumLock key Function GetNumLockKey() As Boolean GetNumLockKey = GetKeyState(vbKeyNumlock) End Function Sub SetNumLockKey(ByVal newState As Boolean) ' if the current state must be changed If CBool(GetKeyState(vbKeyNumlock)) <> newState Then ' programmatically press and release the NumLock key keybd_event vbKeyNumlock, 0, 0, 0 keybd_event vbKeyNumlock, 0, KEYEVENTF_KEYUP, 0 End If End Sub #If VBA7 And Win64 Then ' 64-bit declarations Private Declare PtrSafe Sub keybd_event Lib "user32" (ByVal bVk As Byte, _ ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long) Private Declare PtrSafe Function GetKeyState Lib "user32" (ByVal nVirtKey As Long) As Long #Else ' 32-bit declarations Private Declare Sub keybd_event Lib "user32"(ByVal bVk As Byte, _ ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long) Private Declare Function GetKeyState Lib "user32"(ByVal nVirtKey As Long)As _ Long #End If هل توافق المطلوب أم لا ؟؟ هذه النقطة كنت قد سهوت عنها من كثرة التجارب ، وكنت اعتمد القص بدلاً من النسخ 😅 . سيتم اعادة الكود للنسخ بدلاً من القص .1 point
-
التجربة الثانية : Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, _ ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long) Private Declare Function GetKeyState Lib "user32" (ByVal nVirtKey As Long) As _ Long Private Const KEYEVENTF_KEYUP = &H2 ' Get the current state of the NumLock key Function GetNumLockKey() As Boolean GetNumLockKey = GetKeyState(vbKeyNumlock) End Function Sub SetNumLockKey(ByVal newState As Boolean) ' if the current state must be changed If CBool(GetKeyState(vbKeyNumlock)) <> newState Then ' programmatically press and release the NumLock key keybd_event vbKeyNumlock, 0, 0, 0 keybd_event vbKeyNumlock, 0, KEYEVENTF_KEYUP, 0 End If End Sub والناتج : '=================================================== ' API Code Converter for Dual Compatibility (32-bit & 64-bit) ' Developed By Foksh (Officena.Net) ' Generated on: 2025-05-29 09:11:57 ' Tool version: v1.2 '=================================================== Private Const KEYEVENTF_KEYUP = &H2 #If VBA7 And Win64 Then ' 64-bit declarations Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, _ ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long) Private Declare Function GetKeyState Lib "user32" (ByVal nVirtKey As Long) As _ Long #Else ' 32-bit declarations Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, _ ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long) Private Declare Function GetKeyState Lib "user32" (ByVal nVirtKey As Long) As _ Long #End If أولا : ما أضاف الدوال GetNumLockKey و SetNumLockKey في الناتج تماما ..! ثانيا : لا حظت أنه بعد نسخ الناتج يمسحه من النموذج (الأفضل أن يضل مكانه ) في ظل وجود الزر (مسح الحقول) :1 point
-
ماشاء الله عليك باش مهندس @Foksh 🙂🌹 اللي أجمل من التنفيذ هو الفكرة نفسها .. فتح الله عليك 😊 مبدأيا وأول تجربة للأداة .. شوف أنت واحكم بنفسك 😁: ' --------------------------<< المصدر >>---------------------- Public Declare Function CopyFile Lib "kernel32" Alias "CopyFileA" (ByVal lpExistingFileName As String, ByVal lpNewFileName As String, ByVal bFailIfExists As Long) As Long ' --------------------------<< النــاتج >>---------------------- '=================================================== ' API Code Converter for Dual Compatibility (32-bit & 64-bit) ' Developed By Foksh (Officena.Net) ' Generated on: 2025-05-29 08:45:50 ' Tool version: v1.2 '=================================================== #If VBA7 And Win64 Then ' 64-bit declarations Public Declare Function CopyFile Lib "kernel32" Alias "CopyFileA" (ByVal lpExistingFileName As String, ByVal lpNewFileName As String, ByVal bFailIfExists As Long) As Long #Else ' 32-bit declarations Public Declare Function CopyFile Lib "kernel32" Alias "CopyFileA" (ByVal lpExistingFileName As String, ByVal lpNewFileName As String, ByVal bFailIfExists As Long) As Long #End If حاسس أنه ماشي تغير في دالة ال API أو فيه شي ناقص (PetrSafe) مثلا ؟؟!! 🤔 وللفائدة هذي مكتبات كبيرة لأكواد ال API ممكن تستفيد منها : https://binaryworld.net/Main/Api.aspx?L=3 http://vbnet.mvps.org/1 point
-
1 point
-
مشاركة مع اخي @Foksh تفضل استاذ @2saad طلبك حسب مافهمت .ووافني بالرد . Data21-1.rar1 point
-
وعليكم السلام ورحمة الله وبركاته.. كان لي تجربة شخصية مع أخي @سلمان الشهراني في أحد المواضيع هنا . حاول التواصل معه عله يفيدك 🤗 .1 point
-
السلام عليكم بحثت في محفوظاتي فوجدت البرنامج مفتوح وعلى صيغة mdb يبدوا ان البحار أو احدا غيره زودني به .. لا اذكر .. الموضوع منذ بضع سنين دعواتكم الطيبة لي وللبحار برنامج توزيع المراقبين على لجان المدارس1.rar1 point