4 דרכים להגן על קוד VBA (Visual Basic for Applications).
קוד ה-VBA שאתה כותב הוא הלב והנשמה של הגיליון האלקטרוני שלך. הגנה על קוד VBA היא משהו שצריך לעשות כדי לוודא שהקוד שלך לא ייגנב או נעשה בו שימוש בלי שאתה יודע. פוסט זה יכסה כמה דרכים שונות להגנה על קוד ה-VBA שלך כך שרק אתה יכול לגשת אליו בקלות.
למה צריך לדאוג להגן על קוד VBA?
VBA היא שפת מאקרו שניתן להשתמש בה ליצירת משימות או פעולות אוטומטיות ב-Excel, Word, PowerPoint. ישנן מספר סיבות שעליך להגן על קוד ה-VBA שלך:
- כדי להגן על קוד ה-VBA שלך מפני שינוי בטעות. קוד VBA הוא כלי רב עוצמה עבור משתמשי אקסל, אך הוא יכול גם להוות מקור לתסכול למי שלא משתמש בו. אם אינך מאבטח את ה-VBA באמצעות סיסמה, אחרים המשתמשים בחוברת העבודה שלך יכולים לגשת לקוד ולבצע בו שינויים מבלי לדעת מה הם באמת עושים. אתה לא רוצה לנפות באגים בקוד ה-VBA שלך כי זה יכול להיות כואב - עלול לקחת שעות להבין למה ואז אפילו יותר זמן!
- כדי להגן על הקניין הרוחני שלך. קוד VBA יכול להיות בעל ערך רב לחברות מסוימות. אם מישהו אחר ניגש לגיליון האלקטרוני שלך ומעתיק את הפונקציונליות שבה אתה משתמש, אז הוא עלול להעביר את זה כעבודה שלו ולמכור אותה להרבה חברות. הגן על קוד המקור היקר שלך באמצעות אמצעי אבטחה. אל תקל על אף אחד לגנוב או להעתיק.
- כדי להגן על עצמך מפני אנשים שמשתמשים בעבודה שלך. אם יש לך פיסת קוד VBA בעלת ערך שהופכת את העבודה שלך לקלה יותר או יעילה יותר, ייתכן שתרצה להגן עליה לשימוש אישי בלבד.
חשוב לציין שישנן מספר דרכים שונות להגן על קוד ה-VBA שלך, אך לא כולן מגנות על הקוד שלך באותה צורה. זה תלוי בך ומה אתה חושב שהכי מתאים לצרכים שלך.
#1 הגנת סיסמא בקוד VBA בתוך Excel באמצעות כלי VBAProject
חלק זה מסביר כיצד אתה יכול להשתמש בהגדרות הגנת פרויקט VBA כדי להגן על קוד ה-VBA שלך מעיניים סקרניות והתעסקות בידיים ברמה מסוימת.
- רמת אבטחה: חלשה; ישנם כלים כגון מסיר סיסמאות VBA אשר ניתן להשתמש בו כדי לפתוח את הסיסמה בתוך דקות;
- קושי: קל;
- עלות: חינם;
שלב 1. בחר "Visual Basic" מתפריט "מפתח" ב-Excel.
שלב 2. כדי לנעול את פרויקט VBA שלך, לחץ על "כלים" בסרגל ולאחר מכן בחר "מאפייני VBAProject".
לאחר לחיצה על פריט תפריט זה, אתה אמור לראות את תיבת הדו-שיח הבאה:
הכרטיסייה "כללי" נבחרת כברירת מחדל, אך לחץ על הכרטיסייה "הגנה".
שלב 3. סמן את "נעל פרויקט לצפייה" ולאחר מכן הקלד את הסיסמה שלך פעמיים בשתי התיבות הללו ולחץ על "אישור".
שלב 4. שמור אותו ופתח מחדש את קובץ האקסל. תוכל לדעת אם הגנת סיסמת VBA הופעלה כהלכה על ידי לחיצה כפולה על פרויקט ה-VBA שלך. כאשר אתה מגן על פרויקט VBA שלך באמצעות סיסמה, זה ימנע ממישהו לשנות בטעות.
#2 השתמש בערפול VBA כדי להגן על קוד המאקרו שלך
ערפול VBA היא האומנות להפוך את קוד ה-VBA שלך לבלתי קריא אך עדיין פונקציונלי. זה משנה את פקודות המאקרו הקיימות שלך עם רמות מרובות של ערפול מה שמקשה על הבנת ההיגיון הבסיסי. מערפלי VBA מתקדמים משתמשים במספר טכניקות ערפול מתקדמות, מה שהופך את המעקב וההתאוששות לאחור למאתגרים הרבה יותר.
- רמת אבטחה: בינונית; מישהו עדיין יוכל לקחת את הזמן ולהוציא מספיק משאבים כדי לשחזר את הקוד;
- קושי: בינוני; תלוי ברמה;
- עֲלוּת: VBA Obfuscator בחינם /פּרֶמיָה;
אתה יכול להשתמש בערפול VBA במקביל לטכניקה מס' 1, שהיא תחילה לטשטש ולאחר מכן לאבטח את המודול באמצעות סיסמה. אנא זכור שהערפול הוא בלתי הפיך, אז בצע גיבוי של קובץ המקור לפני שתמשיך. זכור גם שלא ניתן להבטיח שהקוד המעורפל יבוצע ללא תקלות. אנא בדוק אותו ביסודיות לפני שחרורו. השתמש בחלק בודד של הפרויקט כדי לטשטש. לאחר שבדיקת הערפול של המודול הראשון הצליח, עברו לשנייה.
#3 המרת קוד VBA לספריית קישורים דינמיים (DLL)
מהדרים כגון Visual C++ ו-Visual Basic מייצרים יישומים שקשה לפיצוח. זה נובע מהעובדה שהקוד מורכב לקבצי הפעלה או לקבצי ספריית קישורים דינמיים. אז נוכל גם להרכיב את קוד ה-VBA לקובץ ספריית קישורים דינמי ולאחר מכן להשתמש בו באקסל.
- רמת אבטחה: גבוהה;
- קושי: בינוני;
- עלות: חינם;
שיטת הגנה זו מומלצת מאוד, אך היא אינה מובטחת ב-100%. כדי ללמוד כיצד להדר, עיין בהוראות ב-VbaCompiler.com: 10 שלבים להידור קוד VBA ל-DLL מקורי של Windows .
#4 המר VBA ל-C או C++
תרגום פקודות המאקרו שלך ל-C או C++ קשה יותר להנדסה לאחור מאשר VBA. אם אתה רוצה להגן על הקוד שלך, זו הדרך הטובה ביותר.
- רמת אבטחה: הגבוהה ביותר; זה כמעט בלתי אפשרי להשיג את הקוד ללא הזכויות; אבל שוב, זה לא מובטח ב-100%;
- קושי: מסובך וגוזל זמן; מכיוון ש-VBA ו-C/C++ הן שפות שונות כל כך, זה יותר קשה מכיוון שתצטרך להשקיע מאמצים רבים.
מַסְקָנָה
שימוש בפקודות מאקרו הוא דרך מצוינת לייעל את הפיתוח של פונקציות מתקדמות. למרבה הצער, זה מעמיד את הקוד שלך בסיכון להיגנב או להעתיק על ידי אחרים. המאמר דן בשיטות בהן תוכל להשתמש כדי למנוע ממשתמשים אחרים לגנוב או להתעסק עם קוד ה-VBA שלך. לידיעתך, הגנות קוד VBA אינן אבטחה חסינת כדורים, אך היא מספקת הגנה מסוימת מפני תוקפים מזדמנים.