Zaščita delovnega zvezka VBA (zaščita z geslom / odstranitev zaščite)

Excel vam omogoča, da zaščitite svoje Excelove delovne zvezke pred spremembami. Ta vadnica vam bo pokazala, kako zaščititi ali odstraniti zaščito strukture delovnega zvezka z uporabo VBA.

Zaščita delovnega zvezka VBA

Zaščita delovnega zvezka VBA vam omogoča, da zaklenete strukturo delovnega zvezka. Ko je delovni zvezek zaščiten, uporabniki ne bodo mogli dodajati, brisati, skriti / razkrivati ​​ali zaščititi / odstraniti zaščite delovnih listov. Če izdelujete model, boste verjetno želeli vklopiti zaščito delovnega zvezka, da preprečite, da bi uporabniki (ali vi!) Pomotoma izbrisali delovne liste.

Odstranite zaščito delovnega zvezka VBA

Če želite odstraniti zaščito delovnega zvezka, preprosto uporabite naslednjo vrstico kode:

1 Delovni zvezki ("Knjiga1"). Odstranite zaščito

Opomba: ta koda bo delovala le, če je bil delovni zvezek zaščiten brez geslo. Če je bilo zaščiteno z geslom, ga morate vnesti tudi, če ga želite zaščititi:

Odstranite zaščito delovnega zvezka z geslom

Ta vrstica kode bo odstranila zaščito delovnega zvezka, zaščitenega z geslom:

1 Delovni zvezki ("Knjiga1"). Odstrani zaščito z geslom: = "geslo"

ali pa izpustite geslo: =

1 Delovni zvezki (»Knjiga1«). Odstranite zaščito »gesla«

Odstranite zaščito tega delovnega zvezka

Ta koda bo odstranila zaščito tega delovnega zvezka (ta delovni zvezek je delovni zvezek, v katerem je shranjena tekoča koda. Nikoli se ne bo spremenila).

1 Ta delovna knjiga. Odstrani zaščito

ali odstranite zaščito tega delovnega zvezka z geslom:

1 ThisWorkbook.Odstrani "geslo"

Odstranite zaščito ActiveWorkbook

Ta koda bo odstranila zaščito ActiveWorbooka.

1 ActiveWorkbook.Unprotect

ali odstranite zaščito ActiveWorkbook z geslom:

1 ActiveWorkbook.Odstrani "geslo"

Odstranite zaščito vseh odprtih delovnih zvezkov

Ta koda bo odstranila zaščito vseh odprtih delovnih zvezkov:

12345678 Sub UnprotectAllOpenWorkbooks ()Dim wb Kot delovni zvezekZa vsako wb v delovnih zvezkihwb.Odstrani zaščitoNaslednja wbEnd Sub

Odstrani delovni zvezek - brez poznavanja gesla

Če morate odstraniti zaščito delovnega zvezka, ne da bi vedeli geslo, je v pomoč več dodatkov. Priporočam Ribbon Commander.

Odstranite zaščito vseh listov v delovnem zvezku

Ko odstranite zaščito delovnega zvezka, boste morda želeli odstraniti tudi zaščito vseh listov v delovnem zvezku. Tu je postopek, ki bo odstranil zaščito vseh listov:

12345678 Sub UnProtectWorkbookAndAllSheets ()Zatemni kot delovni listActiveWorkbook.UnprotectZa vsak ws na delovnih listihws.UnprotectNaslednjiEnd Sub

Zaščitite delovni zvezek

Strukture delovnega zvezka lahko zaščitite na enak način kot odstranite zaščito.

Zaščitite delovni zvezek brez gesla

Ta vrstica kode bo zaščitila delovni zvezek (brez gesla)

1 Delovni zvezki ("Knjiga1"). Zaščitite

Opomba: Pogosto bom uporabil zaščito delovnega zvezka brez gesel, preprosto zato, da preprečim naključno spremembe delovnih zvezkov.

Zaščitite delovni zvezek z geslom

Ta koda bo zaščitila strukturo delovnega zvezka (z geslom)

1 Delovni zvezki ("Knjiga1"). Zaščitite "geslo"

ali:

1 Delovni zvezki ("Knjiga1"). Zaščitite geslo: = "geslo"

Excel datoteka, zaščitena z geslom

Namesto zaščite delovnega zvezka boste morda želeli z geslom zaščititi celotno datoteko Excel. Če želite to narediti z uporabo VBA, shranite kot delovni zvezek z geslom:

1 Delovni zvezki ("Knjiga1"). Shrani kot "geslo"

Primeri delovnega zvezka Zaščita / Odstranitev zaščite

Razkrij vse delovne liste v zaščitenem delovnem zvezku

Ta postopek bo odstranil zaščito delovnega zvezka, skril vse delovne liste in znova zaščitil delovni zvezek

12345678910 Odstrani zaščito WB_Unhide_All_Sheets ()Zatemni kot delovni listActiveWorkbook.UnprotectZa vsak ws na delovnih listihws.Visible = xlSheetVisibleNaslednjiActiveWorkbook.ProtectEnd Sub

Zaščitite delovni zvezek in vse liste

Ta postopek bo zaščitil vse delovne liste v delovnem zvezku in nato zaščitil delovni zvezek:

1234567891011 Sub ProtectWB_Protect_All_Sheets ()Zatemni kot delovni listActiveWorkbook.UnprotectZa vsak ws na delovnih listihws.ZaščititeNaslednjiActiveWorkbook.ProtectEnd Sub

Dodate lahko tudi zaščito z geslom:

1234567891011 Sub ProtectWB_Protect_All_Sheets_Pswrd ()Zatemni kot delovni listActiveWorkbook.Odstrani "geslo"Za vsak ws na delovnih listihws.Zaščitite "geslo"NaslednjiActiveWorkbook.Zaščitite "geslo"End Sub
wave wave wave wave wave