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

بعض الرسائل ظهرت بعد تحويل النسخه من 32 بت الى 64


الردود الموصى بها

تم بفضل الله اولا ثم بفضل الاستاذ جعفر من خلال ماتم طرحه سابقا بعنوان (هل استخدم اوفيس 32 بت او 64 بت )

تحويل نسخه من 32 بت الى 64 بت وعند تشغيلها على الاصدار 32 بت تعمل بدون اي مشكله
ولكن عند نقل النسخه الى الجهاز الاخر الموجود عليه نسخة اوفيس 64 بت

تظهر الرسائل التاليه
1- عند الفتح تظهر الرساله الموجوده بالملف رقم1
2- عن تصحيح الاكواد تظهر الرساله الموجوده بالملف رقم 2

ملاحظه:-
1- الرنامج يحتوي على العديد من الوحدات النمطيه والنماذج وكلها تعمل بدون مشكله ماعدى ماتم طرحه بالاعلى 

2- لاوفيس الذي تم العمل عليه 2010

رسائل الخطاء.rar

رابط هذا التعليق
شارك

وعليكم السلام اخوي سلمان 🙂

 

ولو اننا نحاول نحل المشكلة ونحن مغمضين بدون الكود للتجربة عليه ، ولكن ان شاء الله انت اللي تجرب لنا 🙂

 

45 دقائق مضت, سلمان الشهراني said:

تظهر الرسائل التاليه
1- عند الفتح تظهر الرساله الموجوده بالملف رقم1
2- عن تصحيح الاكواد تظهر الرساله الموجوده بالملف رقم 2

 

1. محتاجين معلومات اكثر بالنسبة لهذه الرسالة ،

2. استعمل هذا :

#If VBA7 Then

    Private Declare PtrSafe Function SetWindowsHookEx Lib "user32" Alias "SetWindowsHookExA" ( _
        ByVal idHook As Long, _
        ByVal lpfn As LongPtr, _
        ByVal hmod As LongPtr, _
        ByVal dwThreadId As Long _
    ) As LongPtr
    
    
    Declare PtrSafe Function EnumFontFamilies Lib "gdi32" Alias "EnumFontFamiliesA" (ByVal hdc As LongPtr, ByVal lpszFamily As String, ByVal lpEnumFontFamProc As LongPtr, ByVal lParam As LongPtr) As Long
    Declare PtrSafe Function EnumFontFamiliesEx Lib "gdi32" Alias "EnumFontFamiliesExA" (ByVal hdc As LongPtr, lpLogFont As LOGFONT, ByVal lpEnumFontProc As LongPtr, ByVal lParam As LongPtr, ByVal dw As Long) As Long


    Declare PtrSafe Function SetTimer Lib "user32" (ByVal hwnd As Long, _
        ByVal nIDEvent As Long, _
        ByVal uElapse As Long, _
        ByVal lpTimerFunc As LongPtr) As Long
  
#Else

    Private Declare Function SetWindowsHookEx Lib "user32" Alias "SetWindowsHookExA" ( _
        ByVal idHook As Long, _
        ByVal lpfn As Long, _
        ByVal hmod As Long, _
        ByVal dwThreadId As Long _
    ) As Long


    Declare PtrSafe Function EnumFontFamilies Lib "gdi32" Alias "EnumFontFamiliesA" (ByVal hdc As LongPtr, ByVal lpszFamily As String, ByVal lpEnumFontFamProc As LongPtr, ByVal lParam As LongPtr) As Long
    Declare PtrSafe Function EnumFontFamiliesEx Lib "gdi32" Alias "EnumFontFamiliesExA" (ByVal hdc As LongPtr, lpLogFont As LOGFONT, ByVal lpEnumFontProc As LongPtr, ByVal lParam As LongPtr, ByVal dw As Long) As Long


    Declare PtrSafe Function SetTimer Lib "user32" (ByVal hwnd As Long, _
        ByVal nIDEvent As Long, _
        ByVal uElapse As Long, _
        ByVal lpTimerFunc As LongPtr) As Long

#End If

 

وبالنسبة للخطوط ، اذا ما نفع الكود اعلاه :

في الكود ، بدل هذا السطر
EnumFontFamilies hdc, vbNullStrin, AddressOf EnumFontFamilies, Combo

  
  جرب هذا السطر
EnumFontFamilies hdc, vbNullStrin, AddressOf EnumFontFamilies, Combo
  
  او
EnumFontFamiliesEx hdc, vbNullStrin, AddressOf EnumFontFamilies, Combo
  
  او
EnumFontFamiliesEx hdc, vbNullStrin, AddressOf EnumFontFamiliesEx, Combo  

 

 

جعفر

  • Like 3
رابط هذا التعليق
شارك

يعطيك العافيه يالغالي
حبيبنا شلت كل الشاشات والوحدات النمطيه الي تعمل
والمف المرفق هو الي فيه المشكه

عند تصحيح للاكود تظهر الاخطاء  بالاضافه المكتبات لاتعمل  في الثلاثه النماذج
 

بعد تحويله 64.rar

رابط هذا التعليق
شارك

السلام عليكم

استاذ جعفر لدي هذه المشكلة نفسها 

للنجربة ارفقت لك ملف نزلته من المنتدى 

اذا تفتحه على 32 بت يعمل دون مشاكل

 

اذا تفتحه على 64 بت لا يعمل وعند استخدامي ل 

#if VBA7 then


#Else

#End If

تبقى اسطر الكود حمراء ولا يعمل 

قمت بتعديل الدوال بإضافة PtrSafe الا ان رسال الاخطاء تظهر 

 

مرفق لك ملف جرب عليه 

استخراج_الملفات_الفرعية.accdb

رابط هذا التعليق
شارك

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



سجل دخولك الان
  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information