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

اخطاء في البرنامج مع تغير نوع الاوفس من 2007 حتى 2016 والنسخة 32 بت و 64 بت


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

اخطاء في البرنامج مع تغير نوع الاوفس من 2007 حتى 2016 والنسخة 32 بت و 64 بت

مصمم البرنامج على اوفس 2016 النسخة 64 بت 

ولكن تواجهنى بعض المشكلاات عند فتحة من اصدرات 2007 و 2010 النسخة 32 بت و 64 بت 

فعند الفتح من النسخة 2007 اصدار 232 بت ظهرت لى تلك الاخطاء 

01.png.1b086ae4e8a6a911a9fdf783289d75a8.png

03.png.453eb053df0342d2c4f02ac9b0c7a92e.png

04.png.5fcb6fb201edd0f1a54e227ba3de382d.png

وايضا يوجد بعض الاكواد لا تعمل 

02.png.c5c0f3884a2bfc9e657522ab77795284.png

 

 

05.png.3311b8da55209d01a87141e345fa91b6.png

وهذا هو ال farmat الخاص به 

06.png.0f1c63bee4e4bbca3bf809e21a37e5e1.png

07.png.6c396cb47b3458ab1800ba15165fd7bc.png

وعند الفتح من اوفس 2010 يظر هذا الخطأ ومع انى حفظت البرنامج بعد الخطا وازالتة مع كل مرة افتحه يظهر ثانيتا 

09.png.fe3eddca1b2c0e58d9865434702d7e28.png

 

والاغرب من كل هذا واضع حماية لمكرو وحماية لصفحات العمل ولكن بعد تلك الرسائل والفتح على اى وضع اجد ان حماية ورقات العمل مازالت موجوده ولكنها بدون باص ورد بمعنى لو واضع باس مثلا 123 عند فتح الحمايية يفتحها بدون اى باصات 

وايضا كما بالصور السابقة يوجد اخطاء بالتعليقات وتحذف والامر كذالك من القائمة اليست بوكس لو واضع ليست بخليه لا تظهر ولن عند فتح البرنامج من نسخة اعلى بعد حفظ الوضع على النسخة القيمة اليست تعود وتظهر انما التعليقات لا تعود وتكون حذفت بشكل نهائي 

بالبداية كنت اظن الامر مقتصر على اجهزت السيستم بالعمل لانها اجهزة عرض وليس جهاز كام اى جهاز سيرفر كل ذاكرته هى 1 جيجا ويتم فتح السيستم من السيرفر الرئيسي بالقاهرة 

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

لانى اريد حماية قصوة للبرناج حتى لا يتم سرقته 

فهل من حل اعزكم الله

وشكرا جزيلا لكم  

 

 

 

 

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

قم بفتح موضوع جديد بالمنتدى واكتب فيه الامر  وضع فيه الملف او جزء منه المصحوب بالكود وسيقوم الخبراء بمساعدتك كما ساعدونى

ولكن كمثال بسيط تعلمته من هنا ولم اطبقة بعد مثلا هذا الكود 

Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long

نقوم بتعديلة الى 

Private Declare ptrsafe Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Longptr, ByVal nIndex As Longptr) As Long

او هذا التعديل الى يظبط معاك 

Private Declare ptrsafe Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Longlong, ByVal nIndex As Longlong) As longLong

المهم ان ممكن يكون لها اكتر من تعديل  واذاا لم تكن خبير زى حاول وجرب لحد ما تعرف لان المحاولة هى الى بتعلم مش مجرد الحصول على الرد , وبردو لما توصل لدرجة عدم المعرفة حاول تسأل والاهم ترفق مع سؤال ملف للعمل عليه 

راجع تلك المواقع

https://msdn.microsoft.com/en-us/library/ee691831(office.14).aspx

http://www.jkp-ads.com/articles/apideclarations.asp

https://msdn.microsoft.com/VBA/Language-Reference-VBA/articles/64-bit-visual-basic-for-applications-overview

وبتلك المواقع ستجد ان شاء الله حل لكفية ربط الكودين بحيث ان الملف يعمل على النظامين 32 و 64 عن طريق دالة IF " ملحوظة مجربتش الامر بعد "

اتمنى تصل للحل 

تم تعديل بواسطه محمود أبوالدهب
رابط هذا التعليق
شارك

مثال اخر لكود لنظام 32 بت وتعديله لنظام 64 بت راجع الفروق في الكلمات وتعلم وهذا كود بى if ليعمل على النظاتمين 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 LongPtr, ByVal nIndex As Long) As Long
    Private Declare PtrSafe Function SetWindowLong Lib "User32" Alias "SetWindowLongA" (ByVal hwnd As LongPtr, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
    Private Declare PtrSafe Function DrawMenuBar Lib "User32" (ByVal hwnd As LongPtr) 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
رابط هذا التعليق
شارك

اخى محمد اشكرك على ردكم الكريم 

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

بتجربته بجميع الاصدارات واعرف الاخطاء ولله الحمد حللت معظمها 

واشكرم على النصيحة الغالية استاذ محمد عبدالسلام

 

اسف استاذ محمد ظننت الرد لى ولكنه حل عملى لما يعرضه  الاخ deebsagheer لمشكلتة  اشكرا جزيلا مرة اخرى

تم تعديل بواسطه محمود أبوالدهب
رابط هذا التعليق
شارك

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

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

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

Important Information