Excel giver dig mulighed for at beskytte dine Excel -projektmapper mod ændringer. Denne vejledning viser dig, hvordan du beskytter eller afbeskytter projektmappestruktur ved hjælp af VBA.
VBA -projektmappebeskyttelse
VBA Workbook Protection giver dig mulighed for at låse projektmappens struktur. Når en projektmappe er beskyttet, kan brugerne ikke tilføje, slette, skjule / skjule eller beskytte / fjerne beskyttelse af regneark. Hvis du bygger en model, vil du sandsynligvis aktivere projektmappebeskyttelse for at forhindre, at brugere (eller dig!) Ved et uheld sletter regneark.
Afbeskyt projektmappe VBA
For at afbeskytte en projektmappe skal du blot bruge følgende kodelinje:
1 | Arbejdsbøger ("Bog1"). Beskyt ikke |
Bemærk: denne kode fungerer kun, hvis projektmappen var beskyttet uden et kodeord. Hvis den var beskyttet med et kodeord, skal du også indtaste adgangskoden for at fjerne beskyttelsen af den:
Afbeskyt projektmappe med adgangskode
Denne kodelinje vil afbeskytte en projektmappe, der er blevet beskyttet med et kodeord:
1 | Workbooks ("Book1"). Fjern adgangskode til beskyttelse: = "password" |
eller du kan udelade adgangskode: =
1 | Arbejdsbøger ("Bog1"). Fjern beskyttelsen af "adgangskode" |
Fjern beskyttelsen af denne arbejdsbog
Denne kode fjerner beskyttelsen af ThisWorkbook (ThisWorkbook er den projektmappe, hvor den kørende kode er gemt. Den ændres aldrig).
1 | ThisWorkbook.Beskyt |
eller afbeskyt ThisWorkbook med en adgangskode:
1 | ThisWorkbook.Unprotect "password" |
Afbeskyt ActiveWorkbook
Denne kode fjerner beskyttelsen af ActiveWorbook.
1 | ActiveWorkbook.Beskyt |
eller afbeskyt ActiveWorkbook med en adgangskode:
1 | ActiveWorkbook.Unprotect "password" |
Fjern beskyttelsen af alle åbne projektmapper
Denne kode fjerner beskyttelsen af alle åbne projektmapper:
12345678 | Sub UnprotectAllOpenWorkbooks ()Dim wb Som projektmappeFor hver wb i projektmapperwb.BeskytNæste wbAfslut Sub |
UnProtect Workbook - Uden at kende adgangskode
Hvis du har brug for at afbeskytte en projektmappe uden at kende adgangskoden, er der flere tilføjelsesprogrammer til at hjælpe. Jeg vil anbefale Ribbon Commander.
Fjern beskyttelsen af alle ark i projektmappen
Når du har afbeskyttet en projektmappe, vil du måske også fjerne alle beskyttelsesarkene i projektmappen. Her er en procedure, der fjerner beskyttelse af alle ark:
12345678 | Sub UnProtectWorkbookAndAllSheets ()Dim ws Som regnearkActiveWorkbook.BeskytFor hver gang i regnearkws.BeskytNæsteAfslut Sub |
Beskyt projektmappe
Du kan beskytte projektmappestrukturer på samme måde som du fjerner beskyttelsen.
Beskyt projektmappe Ingen adgangskode
Denne kodelinje beskytter en projektmappe (ingen adgangskode)
1 | Arbejdsbøger ("Bog1"). Beskyt |
Bemærk: Jeg vil ofte anvende projektmappebeskyttelse uden adgangskoder, blot for at forhindre tilfældig ændringer af projektmapper.
Beskyt projektmappe med adgangskode
Denne kode beskytter projektmappens struktur (med et kodeord)
1 | Workbooks ("Book1"). Beskyt "password" |
eller:
1 | Workbooks ("Book1"). Beskyt adgangskode: = "password" |
Adgangskodebeskyt Excel -fil
I stedet for projektmappebeskyttelse vil du måske med en adgangskodebeskytte en hel Excel-fil. For at gøre det ved hjælp af VBA, Gem som projektmappen med et kodeord:
1 | Workbooks ("Book1"). SaveAs "password" |
Beskyt / fjern beskyttelse af projektmappeeksempler
Vis alle regneark i Beskyttet projektmappe
Denne procedure fjerner beskyttelsen af en projektmappe, skjuler alle regneark og beskytter projektmappen igen
12345678910 | Sub UnprotectWB_Unhide_All_Sheets ()Dim ws Som regnearkActiveWorkbook.BeskytFor hver gang i regnearkws.Visible = xlSheetVisibleNæsteActiveWorkbook.ProtectAfslut Sub |
Beskyt projektmappe og alle ark
Denne procedure beskytter alle regneark i en projektmappe og beskytter derefter projektmappen:
1234567891011 | Sub ProtectWB_Protect_All_Sheets ()Dim ws Som regnearkActiveWorkbook.BeskytFor hver gang i regnearkws.ProtectNæsteActiveWorkbook.ProtectAfslut Sub |
Du kan også tilføje adgangskodebeskyttelse:
1234567891011 | Sub ProtectWB_Protect_All_Sheets_Pswrd ()Dim ws Som regnearkActiveWorkbook.Unprotect "password"For hver gang i regnearkws.Protect "adgangskode"NæsteActiveWorkbook.Protect "adgangskode"Afslut Sub |