VBA Workbook Protection (Beskyt adgangskode / Fjern beskyttelse)

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