اذهب الي المحتوي
أوفيسنا

كود الحماية لا يعمل على جميع اصدارات اكسل


ناصراا

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

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

او اضافة للكود فيشتغل على نسخ الاكسل المختلفة 

Private Sub Workbook_Open()
If Hex(CreateObject("Scripting.FileSystemObject").Drives.Item("C:").SerialNumber) <> "0000000000" Then
MsgBox "تنبيه ! لا يوجد تصريح لتشغيل البرنامج ", vbCritical, ""

ThisWorkbook.Close savechanges = True
End If
End Sub

ايضا جربت اضافة كود الاستاذ محمد طاهر 

http://www.officena.net/ib/index.php?showtopic=25&st=0&p=46&fromsearch=1&#entry46

 

للتحكم في مستوى الامان ودمجت الكودين 

ولم يعمل ايضا مع الاجهزة الاخرى 


Private Sub Workbook_Open()
Application.SendKeys "{f10}"
Application.SendKeys "tms"
Application.SendKeys "{tab}"
Application.SendKeys "l"
Application.SendKeys "{ENTER}"


If Hex(CreateObject("Scripting.FileSystemObject").Drives.Item("C:").SerialNumber) <> "0000000000" Then
MsgBox "تنبيه ! لا يوجد تصريح لتشغيل البرنامج ", vbCritical, ""

ThisWorkbook.Close savechanges = True
End If

End Sub

فهل من حل رحم الله والديكم

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

أستاذ ناصر

لابد لكي يعمل الكود أن تقوم بإضافة المكتبة الخاصة من خلال محرر الأكود القائمة أدوات Tools انقر على References ثم ابحث عن المكتبة Microsoft Scripting Runtime وعلم عليها علامة صح واضغط أوك وجرب ...

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

 

أستاذ ناصر

لابد لكي يعمل الكود أن تقوم بإضافة المكتبة الخاصة من خلال محرر الأكود القائمة أدوات Tools انقر على References ثم ابحث عن المكتبة Microsoft Scripting Runtime وعلم عليها علامة صح واضغط أوك وجرب ...

 

استاذي الفاضل ياسر 

 

شكرا لك 

 

 

جربت التضمين ولم ينجح في تشغيل الكود في جهاز العميل 

 

--

وضعت كود الحماية 

وضمنت المكتبة كما تعلمت منك 

 

وحفظته 

 

يفترض الملف المرفق 

لن يشتغل في جهازك 

 

أو اي جهاز آخر لأنه يطلب رقم السيريال  (0000000)

وطبقت الخطوات التالية في الصورة 

 

post-92499-0-20285400-1416238077_thumb.p

 

 

2222.rar

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

أخي الفاضل الكود مرتبط على ما يبدو بالسيريال الخاص بالهارد ديسك ومن ثم يفتح عندك أما عند العميل فلن يفتح لأن السيريال الخاص بالهارد ديسك التابع له مختلف ...

إذا لابد لكي يفتح أن يتم إدخال السيريال الخاص بهارد العميل

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

 

أخي الفاضل الكود مرتبط على ما يبدو بالسيريال الخاص بالهارد ديسك ومن ثم يفتح عندك أما عند العميل فلن يفتح لأن السيريال الخاص بالهارد ديسك التابع له مختلف ...

إذا لابد لكي يفتح أن يتم إدخال السيريال الخاص بهارد العميل

 

شكرا لعودتك مرة أخرى 

 

حبيبي الغالي

 

الكود يعمل عندي بكفائه (أي أن الملف لا يفتح في جهازي  لاختلاف السيريال ) لكنه يفتح في جهاز آخر لا يطابق نفس السيريال ايضا 

 

 

في الملف المرفق في المشاركة أعلاه 

 

نفس الملف لا يفتح في جهازي ويفتح في جهاز آخر 

 

علما أن السيريال  المطلوب هو (000000000)

 

تكرما انظر الكود في الصورة في المشاركة السابقة 

 

 

أرجوا المساعدة وحل المشكلة 

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

قد تكون المشكلة فعلا في إصدارات الأوفيس المختلفة أخي الحبيب .. هل جربت الملف على أكثر من إصدار ؟؟

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

 

قد تكون المشكلة فعلا في إصدارات الأوفيس المختلفة أخي الحبيب .. هل جربت الملف على أكثر من إصدار ؟؟

 

نعم استاذي الكريم 

 

وأيضا 

جربته على اكسيل 7 في كذا جهاز ويندوز 7 وXp

 

 

بعضها يعمل ويعضها لا يعمل 

 

الغريب 

اكسيل 7 على ويندوز 7 في جهازين مختلفين 

 

احدهما اشتغل والآخر لم يشتغل 

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

احتمال إن الأجهزة اللي اشتغل بيها الملف تكون إعدادات الأمان فيه مرتفعة .. يعني الماكرو لا يعمل وفي ظل هذه الإعدادات فإنه يعمل أو لا يعمل

عموما جرب بردو وشوف إعدادات الماكرو في الأجهزة اللي اشتغلت وخليها نفس الإعدادات في الأجهزة اللي مشتغلتش

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

 

احتمال إن الأجهزة اللي اشتغل بيها الملف تكون إعدادات الأمان فيه مرتفعة .. يعني الماكرو لا يعمل وفي ظل هذه الإعدادات فإنه يعمل أو لا يعمل

عموما جرب بردو وشوف إعدادات الماكرو في الأجهزة اللي اشتغلت وخليها نفس الإعدادات في الأجهزة اللي مشتغلتش

 

نعم استاذي 

 

بعضها يطلب تمكين الماكرو 

 

وبعد تمكينه ينفذ الكود ويغلق البرنامج  (لأن السيريال غير صحيح) وبعضها لا يشعر اصلا بوجود الكود 

 

 

هل من طريقة أخرى للخروج من هذه الاشكالية 

 

 

الهدف : هو عدم تشغيل  الملف في جهاز آخر 

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

الهدف هو المشكلة والمشكلة هي الهدف .. أنا كدا تهت منك ومش عارف أحدد مشكلتك لأن مشكلتك هي هدفك وهدفك هو مشكلتك

أرجو التوضيح أكثر لو سمحت يا أخ ناصر .. اعذرني لأني لم أفهم مشكلتك ...!!!

أنا أحاول جاهدا مساعدتك لكن يبدو أن الموضوع متشابك ويحتاج لتدخل من هم أعلم مني

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

 

الهدف هو المشكلة والمشكلة هي الهدف .. أنا كدا تهت منك ومش عارف أحدد مشكلتك لأن مشكلتك هي هدفك وهدفك هو مشكلتك

أرجو التوضيح أكثر لو سمحت يا أخ ناصر .. اعذرني لأني لم أفهم مشكلتك ...!!!

أنا أحاول جاهدا مساعدتك لكن يبدو أن الموضوع متشابك ويحتاج لتدخل من هم أعلم مني

 

 

اعذرني اعذرني استاذي 

 

سببت لك تشويش 

 

 

الهدف هو جعل الملف لا يفتح في جهاز آخر 

 

استعنت بالكود أعلاه 

 

لكنه لم ينجح مع بعض الأجهزة 

 

توقعت في البداية ان المشكلة من اصدارات اوفيس المختلفة 

 

 

جربت وجربت أثناء حوارنا  فوجدت ان الاصدارات ليست هي المشكلة تحديدا 

 

 

 

المحصلة أن الكود يعمل على بعض الاجهزة فقط ولا ادري اين الخلل 

 

وهدف الموضوع اني اريد حماية الملف لجهاز واحد فقط (لمن لديه طريقة مختلفة)

 

ارجوا أن الصورة واضحة الآن 

 

 

اكرر اعتذاري 

واعتزازي بمداخلاتك ومحاولة مساعدتي 

 

لك في القلب كل ود واحترام 

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

أعتقد أنه يمكن حماية الملف بربطه بالسيريال الخاص بالهارد ...

 

ولكني في اعتقادي الشخصي أن كل أساليب الحماية في الإكسيل ضعيفة للغاية

 

الحل الوحيد لحماية الملفات هو تحويل الملف إلى ملف تنفيذي

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

شكرا لك حبيبي 

 

لم ينجح حتى الآن كود الربط بالهارد 

 

ولا يمكن لملفي أن يحول الى تنفيذي فقد جربته سابقا وفشلت 

 

أعلم أنها ضعيفة لكنها حماية للمستخدم البدائي فقط  ومن يتقصد الكسر فلن يصعب عليه 

 

 

أكرر شكري واحترامي لوقتك الثمين الذي بذلته 

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

 

لما لم ينجح كود الربط بسيريال الهادر ديسك؟

ارفق الملف الذي حاولت أن تقوم بربط السيريال فيه

 

 

حبيبي 

 

هو نفس الملف مرفقا 

في المشاركة رقم 3 أعلاه 

 

وهو نفس الكود في الصورة  ايضا في نفس المشاركة 

 

الملف وضعت عليه الكود << فيفترض ان يعطيك رسالة تنبيه أنك لا تملك تصريح ثم يغلق الملف

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

أخي الحبيب ناصر

تفضل المرفقات يوجد ملف نصي به كود قم بوضعه في حدث فتح المصنف

بس الأول شوف السيريال الخاص بالهارد ديسك الخاص بك وضعه في الكود ليعمل الملف .. وشوف الملف دا هيتشغل على جهاز تاني ولا لا

HD Serial Number.rar

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

أنا مجربه وشغال كويس ..لازم عشان الملف يفتح يكون السيريال مطابق لسيريال الهارد ديسك

بس طبعا لو حد ألغى إعدادت الماكرو المرتفعة الملف هيفتح عادي عشان كدا بقولك مفيش فايدة

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

 

أنا مجربه وشغال كويس ..لازم عشان الملف يفتح يكون السيريال مطابق لسيريال الهارد ديسك

بس طبعا لو حد ألغى إعدادت الماكرو المرتفعة الملف هيفتح عادي عشان كدا بقولك مفيش فايدة

 

 

للأسف معي مش شغال 

 

أنا أضع السيريال 0000 

حتى اجرب ألا يفتح في اجهزة أخرى 

 

مع ذلك يفتح عادي في بعضها 

 

اضفت كود الاستاذ محمد طاهر (أعلاه )

 

أعطى نتائج أفضل 

 

لكن لا يزال غير جيد ولا يمكن الاعتماد عليه اطلاقا (في بعض الأجهزة يشتغل الملف وكأن لا وجود للكود أصلا )

 

فلا ادري ما الحل 

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

جربت الكود وهو يعمل بدون مشاكل.

 

الذي يبدو انه يفتح مباشرة ابدون تنفيد الكود ذا كانت اعدادات الماكر على الخيار الاول او الثالث  كما في الصورة.

 

جرب اختيار الخيار المحدد في الصورة و بعدها اعد فتح الملف:

 

post-133105-0-11650700-1416292430_thumb.

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

جربت الكود وهو يعمل بدون مشاكل.

 

الذي يبدو انه يفتح مباشرة ابدون تنفيد الكود ذا كانت اعدادات الماكر على الخيار الاول او الثالث  كما في الصورة.

 

جرب اختيار الخيار المحدد في الصورة و بعدها اعد فتح الملف:

 

attachicon.gifMacro.jpg

جزاك الله خيرا أخي ابو تراب 

 

وجدته يعمل 

 

لكن الاشكالية كانت في فرض خفض الماكرو 

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

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

 

 

 

جرب المثال المرفق.

 

Option Explicit


Const SHEET_ENABLE_MACRO As String = "ENABLE_MACRO"




Private Sub Workbook_BeforeClose(Cancel As Boolean)


Dim ws As Worksheet


Sheets(SHEET_ENABLE_MACRO).Visible = xlSheetVisible


For Each ws In ThisWorkbook.Worksheets
    
    If ws.Name <> SHEET_ENABLE_MACRO Then
        ws.Visible = xlVeryHidden
    End If


Next ws


ActiveWorkbook.Save


End Sub


Private Sub Workbook_Open()


Dim ws As Worksheet


For Each ws In ThisWorkbook.Worksheets


    ws.Visible = xlSheetVisible
Next ws


    Sheets(SHEET_ENABLE_MACRO).Visible = xlVeryHidden


End Sub
 
 

 

Enable Macros by force.zip

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

شكرا كل حبيبي ابو تراب 

 

بالفعل هذا ما اعتمدته 

 

مع اضافة أخرى ممتازة 

 

وسؤالي عن التكست لأضع فيه رقم الهارد في مكان ما في الجهاز 

 

لتصبح توليفة رائعة 

 

 

بقي عندي نقطة صغيرة 

 

ما مدى قوة الأمان في باسوورد الVb 

 

فهي الوحيدة التي قد تهدم ما بني 

 

FtRzOc.png

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

أخي ناصر سبق وأن أخبرتك أن الحماية في الإكسيل قد تكون منعدمة

بالنسبة لباسورد VBA يمكن بكل سهولة التغلب عليه

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

بالفعل اخي ياسر اوافقك الرأي ان الحماية في الاكسل ضعيفة و يمكن كسرها بسهولة و  البرامج كثيرة

 

post-133105-0-94797300-1416405791_thumb.

 

اخي ناصر بالنسبة ل:

 وسؤالي عن التكست لأضع فيه رقم الهارد في مكان ما في الجهاز 

 

 

اقترح عليك ان تحفظه في سجل النظام registry بعد تشفير المفتاح و عندها لن تحتاج ان تتعامل مع الملف النصي.

 

 

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

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