VBA-werkmapbeveiliging (wachtwoordbeveiliging / beveiliging opheffen)

Met Excel kunt u uw Excel-werkmappen beschermen tegen wijzigingen. Deze zelfstudie laat u zien hoe u de werkmapstructuur kunt beveiligen of opheffen met VBA.

VBA-werkmapbeveiliging

Met VBA Workbook Protection kunt u de structuur van de werkmap vergrendelen. Wanneer een werkmap is beveiligd, kunnen gebruikers geen werkbladen toevoegen, verwijderen, verbergen/weergeven of beveiligen/de beveiliging opheffen. Als u een model bouwt, wilt u waarschijnlijk werkmapbeveiliging inschakelen om te voorkomen dat gebruikers (of u!) per ongeluk werkbladen verwijderen.

UnProtect-werkmap VBA

Gebruik de volgende regel code om de beveiliging van een werkmap op te heffen:

1 Werkmappen ("Boek1").Bescherming opheffen

Opmerking: deze code werkt alleen als de werkmap is beveiligd zonder een wachtwoord. Als het was beveiligd met een wachtwoord, moet u ook het wachtwoord invoeren om de beveiliging op te heffen:

Werkmap opheffen met wachtwoord

Met deze coderegel wordt de beveiliging van een werkmap opgeheven die is beveiligd met een wachtwoord:

1 Werkmappen ("Boek1"). Beveiliging van wachtwoord opheffen: = "wachtwoord"

of u kunt Wachtwoord:= . weglaten

1 Werkmappen ("Boek1"). Maak de beveiliging van "wachtwoord" ongedaan

Maak de bescherming van dit werkboek ongedaan

Met deze code wordt de beveiliging van ThisWorkbook opgeheven (ThisWorkbook is de werkmap waarin de actieve code is opgeslagen. Deze code zal nooit veranderen).

1 ThisWorkbook.Unprotect

of maak de beveiliging van ThisWorkbook ongedaan met een wachtwoord:

1 ThisWorkbook.Unprotect "wachtwoord"

UnProtect ActiveWorkbook

Met deze code wordt de beveiliging van het ActiveWorbook opgeheven.

1 ActiveWorkbook.Unprotect

of maak de ActiveWorkbook ongedaan met een wachtwoord:

1 ActiveWorkbook.Unprotect "wachtwoord"

Beveiliging van alle geopende werkmappen opheffen

Met deze code wordt de beveiliging van alle geopende werkmappen opgeheven:

12345678 Sub UnprotectAllOpenWorkbooks()Dim wb als werkboekVoor elke wb In Werkmappenwb.Bescherming opheffenVolgende wbEinde sub

UnProtect-werkmap - zonder wachtwoord te kennen

Als u de beveiliging van een werkmap wilt opheffen zonder het wachtwoord te kennen, zijn er verschillende invoegtoepassingen die u kunnen helpen. Ik zou Ribbon Commander aanbevelen.

De beveiliging van alle bladen in de werkmap opheffen

Nadat u de beveiliging van een werkmap opheft, wilt u wellicht ook de beveiliging van alle bladen in de werkmap opheffen. Hier is een procedure die de beveiliging van alle bladen opheft:

12345678 Sub UnProtectWorkbookAndAllSheets()Dim ws als werkbladActiveWorkbook.UnprotectVoor elke ws In werkbladenws.Bescherming opheffenVolgendeEinde sub

Werkmap beveiligen

U kunt werkmapstructuren op dezelfde manier beveiligen als u de beveiliging opheft.

Werkmap beveiligen Geen wachtwoord

Deze regel code beschermt een werkmap (geen wachtwoord)

1 Werkmappen ("Boek1").Beschermen

Opmerking: ik pas vaak werkmapbeveiliging toe zonder wachtwoorden, gewoon om te voorkomen toevallig wijzigingen in werkboeken.

Werkmap beveiligen met wachtwoord

Deze code beschermt de werkmapstructuur (met een wachtwoord)

1 Werkmappen ("Boek1"). Bescherm "wachtwoord"

of:

1 Werkmappen ("Boek1"). Wachtwoord beveiligen: = "wachtwoord"

Wachtwoordbeveiliging Excel-bestand

In plaats van werkmapbeveiliging wilt u misschien een heel Excel-bestand met een wachtwoord beveiligen. Om dat te doen met VBA, Opslaan als de werkmap met een wachtwoord:

1 Werkmappen ("Boek1").OpslaanAls "wachtwoord"

Voorbeelden van werkmappen beveiligen/onbeschermen

Alle werkbladen in de beveiligde werkmap zichtbaar maken

Met deze procedure wordt de beveiliging van een werkmap opgeheven, worden alle werkbladen verborgen en wordt de werkmap opnieuw beveiligd

12345678910 Sub UnprotectWB_Unhide_All_Sheets()Dim ws als werkbladActiveWorkbook.UnprotectVoor elke ws In werkbladenws.Visible = xlSheetVisibleVolgendeActiveWorkbook.ProtectEinde sub

Werkmap en alle bladen beveiligen

Deze procedure beveiligt alle werkbladen in een werkmap en beveiligt vervolgens de werkmap:

1234567891011 Sub ProtectWB_Protect_All_Sheets()Dim ws als werkbladActiveWorkbook.UnprotectVoor elke ws In werkbladenws.BeschermenVolgendeActiveWorkbook.ProtectEinde sub

U kunt ook wachtwoordbeveiliging toevoegen:

1234567891011 Sub ProtectWB_Protect_All_Sheets_Pswrd()Dim ws als werkbladActiveWorkbook.Unprotect "wachtwoord"Voor elke ws In werkbladenws.Bescherm "wachtwoord"VolgendeActiveWorkbook.Bescherm "wachtwoord"Einde sub
wave wave wave wave wave