السلام عليكم ورحمة الله وبركاته
أخي الكريم (خالد جميل)
Private Declare PtrSafe Function GetModuleHandle Lib "kernel32" Alias "GetModuleHandleA" (ByVal lpModuleName As String) As Long
Private Declare PtrSafe Function SetWindowsHookEx Lib "user32" Alias "SetWindowsHookExA" (ByVal idHook As Long, ByVal lpfn As Long, ByVal hmod As Long, ByVal dwThreadId As Long) As Long
Private Declare PtrSafe Function UnhookWindowsHookEx Lib "user32" (ByVal hHook As Long) As Long
Private Declare PtrSafe Function SendDlgItemMessage Lib "user32" Alias "SendDlgItemMessageA" (ByVal hDlg As Long, ByVal nIDDlgItem As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Private Declare PtrSafe Function GetClassName Lib "user32" Alias "GetClassNameA" (ByVal hwnd As Long, ByVal lpClassName As String, ByVal nMaxCount As Long) As Long
Private Declare PtrSafe Function GetCurrentThreadId Lib "kernel32" () As Long
هذه العبارات تقوم بأستدعاء أو تحميل مكتبات لغة VBA في بداية الكود
و كلمة "user32" تدل على أن الكود يعمل فقط على اصدار اوفيس 32بت (32Bit)
وإذا وجدت كلمة "user64" فمعناها أن المبرمج قام بأستدعاء أو تحميل مكتبات لغة VBA لتعمل على اصدار اوفيس 64بت (64Bit)
وفي الغالب تجد أن المبرمج قد وضع أكواد الإصدارين معاً ليضمن عمل الكود على أي إصدار أوفيس قد يستعملة المستخدم أو قد ينقل القاعدة على أي جهاز لا يعرف نوع إصدار الأفيس علية (32Bit) أو (64Bit)
أما لماذا تعطي خطاء لديك وذلك لأن المكتبة مفصولة عن بقية الكود الخاص بها بالخط الفاصل أو أنها لاتتبع الكود أصلا
الكود المكتوب اسفل الكود الخطأ هو كود إخفاء إطار الاكسس
و هذا كود إخفاء إطار الاكسس أخر يعمل بكفاءة
hideaccesswindow.zip
وهذه مشاركة تشرح ماذا تعني مكتبات (32Bit) و (64Bit)
السلام عليكم ورحمة الله
أخي الكريم شامل ..
كنت قد بحثت في مشروع سابق لي عن هذه الفكرة وأتقنتها وهذه هي خلاصة تجربتي في البحث الشامل في النموذج بطريقتين .
تفضل
السلام عليكم ورحمة الله
أخي الكريم kassem_geo
بعد إذن أخي الفاضل M.Abd Allah الذي علمني كثيرا بارك الله فيه
إليك التعديل في الشكل مع تشغيل الازرار
وأرجو أن ينال إعجابك