Το Excel σάς επιτρέπει να προστατεύετε τα βιβλία εργασίας του Excel από αλλαγές. Αυτό το σεμινάριο θα σας δείξει πώς να προστατεύσετε ή να προστατέψετε τη δομή του βιβλίου εργασίας χρησιμοποιώντας VBA.
Προστασία βιβλίου εργασίας VBA
Το VBA Workbook Protection σας επιτρέπει να κλειδώσετε τη δομή του βιβλίου εργασίας. Όταν ένα βιβλίο εργασίας προστατεύεται, οι χρήστες δεν θα μπορούν να προσθέτουν, να διαγράφουν, να αποκρύπτουν / να αποκρύπτουν ή να προστατεύουν / να προστατεύουν φύλλα εργασίας. Εάν χτίζετε ένα μοντέλο, πιθανότατα θέλετε να ενεργοποιήσετε την προστασία του βιβλίου εργασίας για να αποτρέψετε τους χρήστες (ή εσείς!) Να διαγράψουν κατά λάθος φύλλα εργασίας.
UnProtect Workbook VBA
Για να καταργήσετε την προστασία ενός βιβλίου εργασίας, χρησιμοποιήστε την ακόλουθη γραμμή κώδικα:
1 | Τετράδια εργασίας ("Book1"). Απροστασία |
Σημείωση: Αυτός ο κωδικός θα λειτουργήσει μόνο εάν το βιβλίο εργασίας ήταν προστατευμένο χωρίς έναν κωδικό πρόσβασης. Εάν προστατεύτηκε με κωδικό πρόσβασης, πρέπει επίσης να εισαγάγετε τον κωδικό πρόσβασης για να τον προστατέψετε:
Καταργήστε την προστασία του βιβλίου εργασίας με κωδικό πρόσβασης
Αυτή η γραμμή κώδικα θα καταργήσει την προστασία ενός βιβλίου εργασίας που έχει προστατευτεί με κωδικό πρόσβασης:
1 | Τετράδια εργασίας ("Book1"). Unprotect Password: = "password" |
ή μπορείτε να παραλείψετε τον κωδικό πρόσβασης: =
1 | Τετράδια εργασίας ("Book1"). Απροστασία "κωδικού πρόσβασης" |
Καταργήστε την προστασία αυτού του βιβλίου εργασίας
Αυτός ο κώδικας θα καταργήσει την προστασία του ThisWorkbook (Αυτό το βιβλίο εργασίας είναι το βιβλίο εργασίας όπου είναι αποθηκευμένος ο κωδικός λειτουργίας. Δεν θα αλλάξει ποτέ).
1 | ThisWorkbook.Unprotect |
ή καταργήστε την προστασία αυτού του βιβλίου εργασίας με κωδικό πρόσβασης:
1 | ThisWorkbook.Προστασία "κωδικού πρόσβασης" |
UnProtect ActiveWorkbook
Αυτός ο κώδικας θα προστατεύσει το ActiveWorbook.
1 | ActiveWorkbook.Unprotect |
ή καταργήστε την προστασία του ActiveWorkbook με έναν κωδικό πρόσβασης:
1 | ActiveWorkbook.Προστασία "κωδικού πρόσβασης" |
Καταργήστε την προστασία όλων των ανοιχτών βιβλίων εργασίας
Αυτός ο κώδικας θα προστατεύσει όλα τα ανοιχτά βιβλία εργασίας:
12345678 | Sub UnprotectAllOpenWorkbooks ()Dim wb Ως βιβλίο εργασίαςΓια κάθε wb Σε βιβλία εργασίαςwb. ΠροστασίαΕπόμενο wbΤέλος υπο |
UnProtect Workbook - Χωρίς να γνωρίζετε τον κωδικό πρόσβασης
Εάν πρέπει να καταργήσετε την προστασία ενός βιβλίου εργασίας χωρίς να γνωρίζετε τον κωδικό πρόσβασης, υπάρχουν πολλά πρόσθετα που θα σας βοηθήσουν. Θα συνιστούσα το Ribbon Commander.
Καταργήστε την προστασία όλων των φύλλων στο τετράδιο εργασίας
Αφού καταργήσετε την προστασία ενός βιβλίου εργασίας, μπορεί επίσης να θέλετε να καταργήσετε την προστασία όλων των φύλλων στο βιβλίο εργασίας. Ακολουθεί μια διαδικασία που θα καταργήσει την προστασία όλων των φύλλων:
12345678 | Sub UnProtectWorkbookAndAllSheets ()Dim ws Ως φύλλο εργασίαςActiveWorkbook.UnprotectΓια κάθε ws σε φύλλα εργασίαςws.ΑπροστάτευτοςΕπόμενοΤέλος υπο |
Προστατέψτε το τετράδιο εργασίας
Μπορείτε να προστατεύσετε τις δομές του βιβλίου εργασίας με τον ίδιο τρόπο που δεν προστατεύετε.
Προστατέψτε το βιβλίο εργασίας χωρίς κωδικό πρόσβασης
Αυτή η γραμμή κώδικα θα προστατεύσει ένα βιβλίο εργασίας (χωρίς κωδικό πρόσβασης)
1 | Τετράδια εργασίας ("Book1"). Προστατέψτε |
Σημείωση: Θα εφαρμόζω συχνά προστασία βιβλίου εργασίας χωρίς κωδικούς πρόσβασης, απλώς για πρόληψη τυχαίος αλλαγές στα βιβλία εργασίας.
Προστατέψτε το βιβλίο εργασίας με κωδικό πρόσβασης
Αυτός ο κώδικας θα προστατεύσει τη δομή του βιβλίου εργασίας (με κωδικό πρόσβασης)
1 | Τετράδια εργασίας ("Book1"). Προστατέψτε τον "κωδικό πρόσβασης" |
ή:
1 | Τετράδια εργασίας ("Book1"). Προστασία κωδικού πρόσβασης: = "κωδικός πρόσβασης" |
Κωδικός Προστασίας αρχείου Excel
Αντί για προστασία βιβλίου εργασίας, ίσως θελήσετε να προστατεύσετε έναν κωδικό πρόσβασης ολόκληρου του αρχείου Excel. Για να το κάνετε αυτό χρησιμοποιώντας το VBA, αποθηκεύστε ως το βιβλίο εργασίας με κωδικό πρόσβασης:
1 | Τετράδια εργασίας ("Book1"). SaveAs "password" |
Παραδείγματα τετραδίων εργασίας προστασίας / κατάργησης προστασίας
Αποκάλυψη όλων των φύλλων εργασίας στο προστατευμένο βιβλίο εργασίας
Αυτή η διαδικασία θα προστατεύσει ένα βιβλίο εργασίας, θα αποκρύψει όλα τα φύλλα εργασίας και θα προστατεύσει εκ νέου το βιβλίο εργασίας
12345678910 | Sub UnprotectWB_Unhide_All_Sheets ()Dim ws Ως φύλλο εργασίαςActiveWorkbook.UnprotectΓια κάθε ws σε φύλλα εργασίαςws.Visible = xlSheetVisibleΕπόμενοActiveWorkbook.ProtectΤέλος υπο |
Προστατέψτε το τετράδιο εργασίας και όλα τα φύλλα
Αυτή η διαδικασία θα προστατεύσει όλα τα φύλλα εργασίας σε ένα βιβλίο εργασίας και στη συνέχεια θα προστατεύσει το βιβλίο εργασίας:
1234567891011 | Sub ProtectWB_Protect_All_Sheets ()Dim ws Ως φύλλο εργασίαςActiveWorkbook.UnprotectΓια κάθε ws σε φύλλα εργασίαςws.ΠροστατεύστεΕπόμενοActiveWorkbook.ProtectΤέλος υπο |
Μπορείτε επίσης να προσθέσετε προστασία με κωδικό πρόσβασης:
1234567891011 | Sub ProtectWB_Protect_All_Sheets_Pswrd ()Dim ws Ως φύλλο εργασίαςActiveWorkbook.Προστασία "κωδικού πρόσβασης"Για κάθε ws σε φύλλα εργασίαςws.Προστασία "κωδικού πρόσβασης"ΕπόμενοActiveWorkbook.Προστασία "κωδικού πρόσβασης"Τέλος υπο |