4 τρόποι για την προστασία του κώδικα VBA (Visual Basic για εφαρμογές).
Ο κώδικας VBA που γράφετε είναι η καρδιά και η ψυχή του υπολογιστικού φύλλου σας. Η προστασία του κώδικα VBA είναι κάτι που πρέπει να γίνει για να βεβαιωθείτε ότι ο κωδικός σας δεν κλαπεί ή χρησιμοποιηθεί χωρίς να το γνωρίζετε. Αυτή η ανάρτηση θα καλύψει μερικούς διαφορετικούς τρόπους προστασίας του κώδικα VBA σας, ώστε μόνο ΕΣΕΙΣ να έχετε εύκολη πρόσβαση σε αυτόν.
Γιατί πρέπει να σας ενδιαφέρει η προστασία του κώδικα VBA;
Η VBA είναι μια γλώσσα μακροεντολών που μπορεί να χρησιμοποιηθεί για τη δημιουργία αυτοματοποιημένων εργασιών ή ενεργειών σε Excel, Word, PowerPoint. Υπάρχουν διάφοροι λόγοι για τους οποίους πρέπει να προστατεύσετε τον κωδικό VBA:
- Για να προστατεύσετε τον κώδικα VBA σας από τυχαία αλλαγή. Ο κώδικας VBA είναι ένα ισχυρό εργαλείο για τους χρήστες του Excel, αλλά μπορεί επίσης να είναι πηγή απογοήτευσης για όσους δεν τον χρησιμοποιούν. Εάν δεν προστατεύσετε το VBA με κωδικό πρόσβασης, τότε άλλα άτομα που χρησιμοποιούν το βιβλίο εργασίας σας μπορούν να έχουν πρόσβαση στον κώδικα και να κάνουν αλλαγές σε αυτόν χωρίς να γνωρίζουν τι κάνουν στην πραγματικότητα. Δεν θέλετε να διορθώσετε τον κώδικα VBA σας επειδή μπορεί να είναι επώδυνος—μπορεί να χρειαστούν ώρες για να καταλάβετε το γιατί και μετά ακόμα περισσότερο χρόνο!
- Για την προστασία της πνευματικής ιδιοκτησίας σας. Ο κώδικας VBA μπορεί να είναι πολύ πολύτιμος για ορισμένες εταιρείες. Εάν κάποιος άλλος αποκτήσει πρόσβαση στο υπολογιστικό φύλλο σας και αντιγράψει τη λειτουργικότητα που χρησιμοποιείτε, τότε θα μπορούσε ενδεχομένως να το περάσει ως δικό του έργο και να το πουλήσει σε πολλές εταιρείες. Προστατέψτε τον πολύτιμο πηγαίο κώδικα σας με μέτρα ασφαλείας. Μην διευκολύνετε κανέναν να κλέψει ή να αντιγράψει.
- Για να προστατεύσετε τον εαυτό σας από άτομα που χρησιμοποιούν την εργασία σας. Εάν έχετε ένα πολύτιμο κομμάτι κώδικα VBA που κάνει την εργασία σας ευκολότερη ή πιο αποτελεσματική, τότε ίσως θέλετε να το προστατέψετε μόνο για προσωπική χρήση.
Είναι σημαντικό να σημειωθεί ότι υπάρχουν αρκετοί διαφορετικοί τρόποι προστασίας του κώδικα VBA, αλλά δεν προστατεύουν όλοι τον κώδικά σας με τον ίδιο τρόπο. Εξαρτάται από εσάς και το τι πιστεύετε ότι είναι καλύτερο για τις ανάγκες σας.
#1 Προστατεύστε τον κωδικό VBA με κωδικό πρόσβασης στο Excel χρησιμοποιώντας το εργαλείο VBAProject
Αυτό το μέρος εξηγεί πώς μπορείτε να χρησιμοποιήσετε τις ρυθμίσεις προστασίας έργου VBA για να προστατέψετε τον κώδικα VBA από αδιάκριτα βλέμματα και παραβιάσεις σε κάποιο επίπεδο.
- Επίπεδο ασφαλείας: Αδύναμο. Υπάρχουν εργαλεία όπως π.χ VBA Password Remover που μπορεί να χρησιμοποιηθεί για να ξεκλειδώσετε τον κωδικό πρόσβασης μέσα σε λίγα λεπτά.
- Δυσκολία: Εύκολο.
- Κόστος: Δωρεάν;
Βήμα 1. Επιλέξτε "Visual Basic" από το μενού "Προγραμματιστής" στο Excel.
Βήμα 2. Για να κλειδώσετε το έργο σας VBA, κάντε κλικ στο "Εργαλεία" στη γραμμή και, στη συνέχεια, επιλέξτε "Ιδιότητες VBAProject".
Αφού κάνετε κλικ σε αυτό το στοιχείο μενού, θα πρέπει να δείτε το ακόλουθο πλαίσιο διαλόγου:
Η καρτέλα "Γενικά" είναι επιλεγμένη από προεπιλογή, αλλά κάντε κλικ στην καρτέλα "Προστασία".
Βήμα 3. Επιλέξτε "Κλείδωμα έργου για προβολή" και, στη συνέχεια, πληκτρολογήστε τον κωδικό πρόσβασής σας δύο φορές και στα δύο αυτά πλαίσια και πατήστε "OK".
Βήμα 4. Αποθηκεύστε το και ανοίξτε ξανά το αρχείο Excel. Θα μπορείτε να διαπιστώσετε εάν η προστασία κωδικού πρόσβασης VBA ενεργοποιήθηκε σωστά κάνοντας διπλό κλικ στο έργο VBA. Όταν προστατεύετε το έργο σας VBA με κωδικό πρόσβασης, θα αποτρέψει οποιονδήποτε από τυχαία τροποποίηση.
#2 Χρησιμοποιήστε το VBA Obfuscation για να προστατέψετε τον κωδικό μακροεντολής σας
Η συσκότιση VBA είναι η τέχνη του να κάνετε τον κώδικα VBA σας μη αναγνώσιμο αλλά ακόμα λειτουργικό. Τροποποιεί τις υπάρχουσες μακροεντολές σας με πολλαπλά επίπεδα συσκότισης που καθιστά δύσκολη την κατανόηση της υποκείμενης λογικής. Οι προηγμένες συσκευές συσκότισης VBA χρησιμοποιούν έναν αριθμό προηγμένων τεχνικών συσκότισης, καθιστώντας την αντίστροφη ανίχνευση και την ανάκτηση πολύ πιο δύσκολη.
- Επίπεδο ασφαλείας: Μεσαίο; Κάποιος θα εξακολουθεί να μπορεί να αφιερώσει χρόνο και να δαπανήσει αρκετούς πόρους για να ανακτήσει τον κώδικα.
- Δυσκολία: Μέτρια. Ανάλογα με το επίπεδο?
- Κόστος: Δωρεάν VBA Obfuscator /Ασφάλιστρο;
Μπορείτε να χρησιμοποιήσετε τη συσκότιση VBA παράλληλα με την τεχνική #1, η οποία είναι πρώτα να αποκρύψετε και στη συνέχεια να ασφαλίσετε τη μονάδα με κωδικό πρόσβασης. Λάβετε υπόψη ότι η συσκότιση είναι μη αναστρέψιμη, επομένως δημιουργήστε αντίγραφο ασφαλείας του αρχείου προέλευσης πριν συνεχίσετε. Επίσης, να θυμάστε ότι δεν είναι εγγυημένη η εκτέλεση του ασαφούς κώδικα χωρίς σφάλματα. Παρακαλούμε δοκιμάστε το καλά πριν το κυκλοφορήσετε. Χρησιμοποιήστε ένα μόνο μέρος του έργου για να αποκρύψετε. Αφού ολοκληρωθεί με επιτυχία η δοκιμή θολώματος της πρώτης ενότητας, προχωρήστε στη δεύτερη.
#3 Μετατροπή κώδικα VBA σε Βιβλιοθήκη Dynamic-Link (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 δεν είναι αλεξίσφαιρη ασφάλεια, αλλά παρέχουν κάποια προστασία από περιστασιακούς εισβολείς.