4 طرق لحماية أكواد VBA (Visual Basic for Applications)
إن كود VBA الذي تكتبه هو قلب وروح جدول البيانات الخاص بك. إن حماية كود VBA هو أمر يجب القيام به للتأكد من عدم سرقة كودك أو استخدامه دون علمك. ستغطي هذه المقالة بعض الطرق المختلفة لحماية كود VBA الخاص بك حتى تتمكن أنت فقط من الوصول إليه بسهولة.
لماذا يجب عليك الاهتمام بحماية كود VBA؟
VBA هي لغة ماكرو يمكن استخدامها لإنشاء مهام أو إجراءات آلية في Excel وWord وPowerPoint. هناك عدة أسباب تدفعك إلى حماية كود VBA الخاص بك:
- لحماية كود VBA الخاص بك من التغيير عن طريق الخطأ. يعد كود VBA أداة قوية لمستخدمي Excel، ولكنه قد يكون أيضًا مصدر إحباط لأولئك الذين لا يستخدمونه. إذا لم تقم بتأمين VBA بكلمة مرور، فيمكن للآخرين الذين يستخدمون المصنف الخاص بك الوصول إلى الكود وإجراء تغييرات عليه دون معرفة ما يفعلونه بالفعل. لا تريد تصحيح أخطاء كود VBA الخاص بك لأنه قد يكون مؤلمًا - فقد يستغرق الأمر ساعات لمعرفة السبب ثم المزيد من الوقت!
- لحماية الملكية الفكرية الخاصة بك، يمكن أن يكون كود VBA قيماً للغاية لبعض الشركات. إذا قام شخص آخر بالوصول إلى جدول البيانات الخاص بك ونسخ الوظائف التي تستخدمها، فقد يقوم بتمريرها على أنها عمله الخاص وبيعها للعديد من الشركات. احمِ كود المصدر القيم الخاص بك بإجراءات أمنية. لا تجعل من السهل على أي شخص السرقة أو النسخ.
- لحماية نفسك من الأشخاص الذين يستخدمون عملك. إذا كان لديك جزء قيم من كود VBA يجعل عملك أسهل أو أكثر كفاءة، فقد ترغب في حمايته للاستخدام الشخصي فقط.
من المهم ملاحظة أن هناك عدة طرق مختلفة لحماية كود VBA الخاص بك، ولكن لا تحمي جميعها الكود الخاص بك بنفس الطريقة. الأمر متروك لك وما تعتقد أنه الأفضل لاحتياجاتك.
#1 حماية كود VBA بكلمة مرور داخل Excel باستخدام أداة VBAProject
يوضح هذا الجزء كيفية استخدام إعدادات حماية مشروع VBA لحماية كود VBA الخاص بك من أعين المتطفلين وأيدي العبث على مستوى ما.
- مستوى الأمان: ضعيف؛ هناك أدوات مثل أداة إزالة كلمة المرور VBA والتي يمكن استخدامها لفتح كلمة المرور في دقائق؛
- الصعوبة: سهل؛
- التكلفة: مجاني؛
الخطوة 1. قم باختيار "Visual Basic" من قائمة "المطور" في Excel.
الخطوة 2. لتأمين مشروع VBA الخاص بك، انقر فوق "أدوات" في الشريط، ثم حدد "خصائص مشروع VBA".
بعد النقر على عنصر القائمة هذا، يجب أن ترى مربع الحوار التالي:
يتم تحديد علامة التبويب "عام" افتراضيًا، ولكن انقر فوق علامة التبويب "الحماية".
الخطوة 3. قم بتحديد مربع "قفل المشروع للعرض"، ثم اكتب كلمة المرور مرتين في كلا المربعين واضغط على "موافق".
الخطوة 4. احفظه وأعد فتح ملف Excel. ستتمكن من معرفة ما إذا كانت حماية كلمة المرور في VBA مفعلة بشكل صحيح من خلال النقر المزدوج على مشروع VBA الخاص بك. عندما تحمي مشروع VBA الخاص بك بكلمة مرور، فسيؤدي ذلك إلى منع أي شخص من إجراء تعديلات عن طريق الخطأ.
#2 استخدم VBA Obfuscation لحماية كود الماكرو الخاص بك
إن التعتيم في لغة VBA هو فن جعل كود VBA الخاص بك غير قابل للقراءة ولكنه لا يزال يعمل. فهو يعدل وحدات الماكرو الموجودة لديك بمستويات متعددة من التعتيم مما يجعل من الصعب فهم المنطق الأساسي. تستخدم أدوات التعتيم المتقدمة في لغة VBA عددًا من تقنيات التعتيم المتقدمة، مما يجعل التتبع العكسي والاسترداد أكثر صعوبة إلى حد كبير.
- مستوى الأمان: متوسط؛ سيظل بإمكان شخص ما أن يأخذ الوقت وينفق الموارد الكافية لاستعادة الكود؛
- الصعوبة: متوسطة؛ حسب المستوى؛
- يكلف: أداة التعتيم المجانية VBA /غالي؛
يمكنك استخدام التعتيم باستخدام لغة البرمجة VBA جنبًا إلى جنب مع التقنية رقم 1، والتي تتلخص في التعتيم أولاً ثم تأمين الوحدة بكلمة مرور. يرجى مراعاة أن التعتيم لا رجعة فيه، لذا قم بعمل نسخة احتياطية من ملف المصدر قبل المتابعة. تذكر أيضًا أنه لا يمكن ضمان تنفيذ الكود المعتم دون أخطاء. يرجى اختباره جيدًا قبل إصداره. استخدم جزءًا واحدًا من المشروع للتعتيم. بعد نجاح اختبار التعتيم الأول للوحدة، انتقل إلى الثاني.
#3 تحويل كود VBA إلى مكتبة ارتباط ديناميكي (DLL)
تنتج برامج التجميع مثل Visual C++ وVisual Basic تطبيقات يصعب اختراقها. ويرجع هذا إلى حقيقة أن الكود يتم تجميعه في ملفات قابلة للتنفيذ أو ملفات مكتبة ارتباط ديناميكي. وبالتالي يمكننا أيضًا تجميع كود VBA في ملف مكتبة ارتباط ديناميكي ثم استخدامه في Excel.
- مستوى الأمان: مرتفع؛
- الصعوبة: متوسطة؛
- التكلفة: مجاني؛
يُنصح بشدة باستخدام طريقة الحماية هذه، لكنها ليست مضمونة بنسبة 100%. لمعرفة كيفية التجميع، راجع التعليمات الموجودة على VbaCompiler.com: 10 خطوات لتجميع كود VBA إلى مكتبة DLL أصلية لنظام التشغيل Windows .
#4 تحويل VBA إلى C أو C++
إن ترجمة وحدات الماكرو الخاصة بك إلى لغة C أو C++ أصعب من VBA في الهندسة العكسية. إذا كنت تريد حماية الكود الخاص بك، فهذه هي الطريقة الأفضل.
- مستوى الأمان: الأعلى؛ يكاد يكون من المستحيل الحصول على الكود بدون الحقوق؛ ولكن مرة أخرى، لا يتم ضمان ذلك بنسبة 100%؛
- الصعوبة: معقدة وتستغرق وقتا طويلا؛ لأن VBA وC/C++ لغتان مختلفتان للغاية، فالأمر أكثر صعوبة حيث سيتعين عليك بذل الكثير من الجهد.
خاتمة
يعد استخدام وحدات الماكرو طريقة رائعة لتبسيط تطوير الوظائف المتقدمة. ولكن لسوء الحظ، يعرض هذا الكود الخاص بك لخطر السرقة أو النسخ من قبل الآخرين. تناقش المقالة الطرق التي يمكنك استخدامها لمنع المستخدمين الآخرين من سرقة أو التلاعب بكود VBA الخاص بك. يرجى ملاحظة أن حماية كود VBA ليست أمانًا مضمونًا، ولكنها توفر بعض الحماية ضد المهاجمين العرضيين.