VBA darbaknygės apsauga (apsauga slaptažodžiu / apsauga)

„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
wave wave wave wave wave