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 |