Защита на работна книга VBA (Защита с парола / Премахване на защита)

Excel ви позволява да защитите вашите работни книги в Excel от промени. Този урок ще ви покаже как да защитите или премахнете защитата на структурата на работната книга, използвайки VBA.

Защита на работната книга на VBA

VBA Workbook Protection ви позволява да заключите структурата на работната книга. Когато работната книга е защитена, потребителите няма да могат да добавят, изтриват, скриват / разкриват или защитават / премахват защитата на работни листове. Ако изграждате модел, вероятно искате да включите защитата на работната книга, за да предотвратите случайно изтриване на работни листове от потребители (или вие!).

UnProtect Workbook VBA

За да премахнете защитата на работна книга, просто използвайте следния ред код:

1 Работни тетрадки („Книга1“). Премахнете защитата

Забележка: този код ще работи само ако работната книга е защитена без парола. Ако е защитен с парола, трябва също да въведете паролата, за да го премахнете от защита:

Премахнете защитата на работната книга с парола

Този ред код ще премахне защитата на работна книга, която е защитена с парола:

1 Работни книги („Книга1“). Премахнете защитата на паролата: = „парола“

или можете да пропуснете парола: =

1 Работни книги („Книга1“). Премахнете защитата „парола“

Премахнете защитата на тази работна книга

Този код ще премахне защитата на ThisWorkbook (ThisWorkbook е работната книга, където се съхранява текущият код. Той никога няма да се промени).

1 ThisWorkbook.Unprotect

или премахнете защитата на тази работна книга с парола:

1 ThisWorkbook.Unprotect "password"

Премахнете защитата на ActiveWorkbook

Този код ще премахне защитата на ActiveWorbook.

1 ActiveWorkbook.Unprotect

или премахнете защитата на ActiveWorkbook с парола:

1 ActiveWorkbook.Unprotect "password"

Премахнете защитата на всички отворени работни книги

Този код ще премахне защитата на всички отворени работни книги:

12345678 Sub UnprotectAllOpenWorkbooks ()Dim wb Като работна книгаЗа всяка wb в работни книгиwb.UnprotectСледваща wbEnd Sub

UnProtect Workbook - Без да знаете парола

Ако трябва да премахнете защитата на работна книга, без да знаете паролата, има няколко добавки, които да ви помогнат. Бих препоръчал Ribbon Commander.

Премахнете защитата на всички листове в работната книга

След като премахнете защитата на работна книга, може също да искате да премахнете защитата на всички листове в работната книга. Ето процедура, която ще премахне защитата на всички листове:

12345678 Sub UnProtectWorkbookAndAllSheets ()Затъмнете като работен листActiveWorkbook.UnprotectЗа всеки ws в работни листовеws.UnprotectСледващияEnd Sub

Защитете работната тетрадка

Можете да защитите структурите на работната книга по същия начин, по който премахвате защитата.

Защита на работната книга без парола

Този ред код ще защитава работна книга (без парола)

1 Работни тетрадки („Книга1“). Защитете

Забележка: Често ще прилагам защита на работната книга без пароли, просто за да предотвратя случайно промени в работните книги.

Защитете работната книга с парола

Този код ще защити структурата на работната книга (с парола)

1 Работни книги („Книга1“). Защитете „парола“

или:

1 Работни книги ("Книга1"). Защита на паролата: = "парола"

Excel файл с парола

Вместо защита на работната книга, може да искате да защитите с парола цял Excel файл. За да направите това с помощта на VBA, запишете като работна книга с парола:

1 Работни книги ("Book1"). SaveAs "парола"

Примери за защита / премахване на защита на работната книга

Покажете всички работни листове в защитена работна книга

Тази процедура ще премахне защитата на работната книга, ще скрие всички работни листове и ще защити отново работната книга

12345678910 Sub UnprotectWB_Unhide_All_Sheets ()Затъмнете като работен листActiveWorkbook.UnprotectЗа всеки ws в работни листовеws.Visible = xlSheetVisibleСледващияActiveWorkbook.ProtectEnd Sub

Защитете работната книга и всички листове

Тази процедура ще защити всички работни листове в работна книга и след това ще защити работната книга:

1234567891011 Sub ProtectWB_Protect_All_Sheets ()Затъмнете като работен листActiveWorkbook.UnprotectЗа всеки ws в работни листовеws.ProtectСледващияActiveWorkbook.ProtectEnd Sub

Можете да добавите и защита с парола:

1234567891011 Sub ProtectWB_Protect_All_Sheets_Pswrd ()Затъмнете като работен листActiveWorkbook.Unprotect "password"За всеки ws в работни листовеws.Защитете "паролата"СледващияActiveWorkbook.Protect "парола"End Sub
wave wave wave wave wave