„Excel“ suteikia galimybę apsaugoti „Excel“ darbaknyges nuo pakeitimų. Ši pamoka parodys, kaip apsaugoti ar panaikinti darbaknygės struktūrą naudojant VBA.
VBA darbo knygos apsauga
„VBA Workbook Protection“ leidžia užrakinti darbaknygės struktūrą. Kai darbaknygė yra apsaugota, vartotojai negalės pridėti, ištrinti, slėpti / slėpti arba apsaugoti / atšaukti darbalapių. Jei kuriate modelį, tikriausiai norite įjungti darbaknygės apsaugą, kad naudotojai (ar jūs!) Netyčia neištrintų darbalapių.
„UnProtect“ darbaknygė VBA
Norėdami panaikinti darbo knygos apsaugą, tiesiog naudokite šią kodo eilutę:
1 | Darbo knygos („1 knyga“). Neapsaugoti |
Pastaba: šis kodas veiks tik tuo atveju, jei darbaknygė buvo apsaugota be slaptažodį. Jei jis buvo apsaugotas slaptažodžiu, taip pat turite įvesti slaptažodį, kad jį panaikintumėte:
Neapsaugoti darbo knygos su slaptažodžiu
Ši kodo eilutė panaikins apsaugą darbaknygėje, kuri buvo apsaugota slaptažodžiu:
1 | Darbaknygės („1 knyga“). Išsaugoti slaptažodį: = „slaptažodis“ |
arba galite atsisakyti slaptažodžio: =
1 | Darbaknygės („1 knyga“). Atšaukti „slaptažodžio“ apsaugą |
Neapsaugoti šios darbo knygos
Šis kodas panaikins „ThisWorkbook“ apsaugą („ThisWorkbook“ yra darbaknygė, kurioje saugomas veikiantis kodas. Jis niekada nesikeis).
1 | Ši darbo knyga. Neapsaugoti |
arba panaikinkite „ThisWorkbook“ apsaugą naudodami slaptažodį:
1 | ThisWorkbook.Unprotect "password" |
„UnProtect ActiveWorkbook“
Šis kodas panaikins „ActiveWorbook“ apsaugą.
1 | ActiveWorkbook. Neapsaugoti |
arba panaikinkite „ActiveWorkbook“ apsaugą slaptažodžiu:
1 | „ActiveWorkbook“ .Atsarginti „slaptažodį“ |
Neapsaugoti visų atvirų darbaknygių
Šis kodas panaikins visų atidarytų darbaknygių apsaugą:
12345678 | Sub UnprotectAllOpenWorkbooks ()Dim wb Kaip darbo knygaUž kiekvieną wb darbaknygėsewb. neapsaugotiKitas wbPabaiga Sub |
„UnProtect“ darbaknygė - nežinant slaptažodžio
Jei jums reikia panaikinti darbo knygos apsaugą nežinant slaptažodžio, tai padės keli papildiniai. Aš rekomenduoju „Ribbon Commander“.
Neapsaugoti visų darbo knygos lapų
Atjungę darbaknygės apsaugą, galbūt norėsite panaikinti visų darbo knygos lapų apsaugą. Štai procedūra, kuri panaikins visų lapų apsaugą:
12345678 | Sub UnProtectWorkbookAndAllSheets ()Dim ws kaip darbalapis„ActiveWorkbook“ .AtsargintiUž kiekvieną ws darbalapiuosews. NeapsaugotiKitasPabaiga Sub |
Apsaugoti darbo knygą
Darbo knygos struktūras galite apsaugoti taip pat, kaip ir apsaugą.
Apsaugoti darbo knygą be slaptažodžio
Ši kodo eilutė apsaugos darbo knygą (be slaptažodžio)
1 | Darbo knygos („1 knyga“). Apsaugoti |
Pastaba: dažnai taikysiu apsaugą darbaknygėms be slaptažodžių, kad tik išvengčiau atsitiktinis darbo knygų pakeitimai.
Apsaugokite darbo knygą slaptažodžiu
Šis kodas apsaugos darbo knygos struktūrą (su slaptažodžiu)
1 | Darbaknygės („1 knyga“). Apsaugokite „slaptažodį“ |
arba:
1 | Darbaknygės ("1 knyga"). Apsaugoti slaptažodį: = "slaptažodis" |
Apsaugokite „Excel“ failą slaptažodžiu
Vietoj darbo knygų apsaugos galbūt norėsite apsaugoti visą „Excel“ failą slaptažodžiu. Norėdami tai padaryti naudodami VBA, įrašykite kaip darbaknygę su slaptažodžiu:
1 | Darbaknygės („1 knyga“). Išsaugoti kaip „slaptažodį“ |
Apsaugoti / neapsaugoti darbaknygės pavyzdžiai
Rodyti visus darbalapius apsaugotoje darbaknygėje
Ši procedūra panaikins darbo knygos apsaugą, paslėps visus darbalapius ir iš naujo apsaugos darbaknygę
12345678910 | PoapsaugotiWB_Unhide_All_Sheets ()Dim ws kaip darbalapis„ActiveWorkbook“ .AtsargintiUž kiekvieną ws darbalapiuosews.Visible = xlSheetVisibleKitasActiveWorkbook.ProtectPabaiga Sub |
Apsaugokite darbaknygę ir visus lapus
Ši procedūra apsaugo visus darbaknygės darbalapius, o tada apsaugo darbaknygę:
1234567891011 | Sub ProtectWB_Protect_All_Sheets ()Dim ws kaip darbalapis„ActiveWorkbook“ .AtsargintiUž kiekvieną ws darbalapiuosews. ApsaugotiKitasActiveWorkbook.ProtectPabaiga Sub |
Taip pat galite pridėti apsaugą slaptažodžiu:
1234567891011 | Sub ProtectWB_Protect_All_Sheets_Pswrd ()Dim ws kaip darbalapis„ActiveWorkbook“ .Atsarginti „slaptažodį“Už kiekvieną ws darbalapiuosews.Protect "slaptažodis"Kitas„ActiveWorkbook“. Apsaugokite „slaptažodį“Pabaiga Sub |