ahmedseif11 قام بنشر سبتمبر 2, 2019 قام بنشر سبتمبر 2, 2019 السلام عليكم ورحمة الله وبركاته قمت بتصميم برنامج مشتريات ومخازن وموردين على اكسل 2016 واستخدمت به الواجهات ( USERFORM ) وطبعا كنت كل شاشة أعملها أجرب تشغيلها فكانت تعمل دون مشاكل وبعد قطع شوط كبير في البرنامج أجرب بعض شاشات الادخال وجدتها لاتعمل ويعطى الخطأ بالصورة المرفقة وعند الضغط على ( Debug ) الخط الأصفر يظهر على أول سطر يوجد به ترحيل وعند الضغط على ( End ) يخرج من جميع الشاشات وفي كلاهما بعد ثلاث ثواني تظهر لي رسالة أت الاكسل يحتاج الى اعادة الشغيل بحثت عن سبب الخطأ لم أعرفه تم نقل البرنامج الى جهاز آخر فاشتغل دون مشاكل ولكن كانت نسخة الاوفس 2010 ظننت أن الخطأ من الويندوز فتم تغيير نسخة الويندوز لكنه لم يعمل على اوفس 2016 وعند تسطيب اوفس 2010 اشتغل دون مشاكل فما هو السبب الذي يجعل برنامج يعمل دون مشاكل على اوفيس 2010 ولا يعمل على 2016 ؟ وماذا ان خرج اوفيس 2010 من الدعم ؟
عبدالله بشير عبدالله قام بنشر سبتمبر 2, 2019 قام بنشر سبتمبر 2, 2019 وعليكم السلام ورحمة الله وبركاته ربما يكون سبب عمل الملف على جهاز ولم يعمل على جهاز اخر سببه اختلاف نظام التشغيل ربما يكون احدهما نظام 32 بث والاخر 64 بت تأكد من الجهازين المختلفين لهما نفس النظام 32 بت او 64 بت ويمكنك معرفة ذلك بالنقر بالزر الايمن للفارة على جهاز الكمبيوتر تظهر لك قائمة اختر خصائص تظهر لك معلومات الجهاز ومن ضمنها نظام التشغيل وقم بهذا الامر للجهازين المختلفين اذا كان هناك اختلاف فاعتقد انه السبب وتوجد اظافة للكود تجعله يعمل على النظامين لا اعلمها بالتحديد ولكن جرب هذه الاظافة #If VBA7 Then Private Declare PtrSafe Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long Private Declare PtrSafe Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long Private Declare PtrSafe Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long Private Declare PtrSafe Function DrawMenuBar Lib "user32" (ByVal hwnd As Long) As Long #Else Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long Private Declare Function DrawMenuBar Lib "user32" (ByVal hwnd As Long) As Long #End If تحياتي
ahmedseif11 قام بنشر سبتمبر 2, 2019 الكاتب قام بنشر سبتمبر 2, 2019 المشكلة على جهاز واحد يعمل على 2010 ولا يعمل على 2016 في نفس الجهاز الكود السابق أين أضعه ؟
عبدالله بشير عبدالله قام بنشر سبتمبر 2, 2019 قام بنشر سبتمبر 2, 2019 الامر بدون ملف يبقى تكهنات ولكن اعتقد ان المشكلة ليس في الاوفيس 2010 او 2016
ahmedseif11 قام بنشر سبتمبر 2, 2019 الكاتب قام بنشر سبتمبر 2, 2019 أيضا قمت بقل الملف الى جهاز به اوفس 2016 لم يعمل فواضح ان في امكانيات في 2010 اتشالت في 2016 دا التفسير الوحيد
عبدالله بشير عبدالله قام بنشر سبتمبر 2, 2019 قام بنشر سبتمبر 2, 2019 اعتقد ان معلومتك تحتاج تصحيح فامكانيات 2016 ارقي واكبر من امكانيات 2010 فامكانياته تشغل جميع الاصدارات السابقة 2003 او 2007 او 2010 او 2013 بشرط ان نظام تشغيل الويندوز واحد اما 32 بت لكليهما او 64 بث
ahmedseif11 قام بنشر سبتمبر 3, 2019 الكاتب قام بنشر سبتمبر 3, 2019 دا في المجمل ولكن ما تفسيرك ان برنامج يتصمم على 2016 ومع كثرة المعادلات والأكواد لا يتم تنفيذ أكواد الترحيل في حين أن 2010 تم تكملة باقي التصميم ولا توجد به مشاكل في الترحيل
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.