Захист робочої книги VBA (Захист паролем / зняття захисту)

Excel дозволяє захистити книги Excel від змін. Цей підручник покаже вам, як захистити або зняти захист структури книги за допомогою VBA.

Захист робочої книжки VBA

Захист робочої книги VBA дозволяє заблокувати структуру робочої книги. Коли книга захищена, користувачі не зможуть додавати, видаляти, приховувати / показувати або захищати / знімати захист аркушів. Якщо ви створюєте модель, ви, ймовірно, захочете ввімкнути захист книг, щоб запобігти випадковому видаленню робочими листами користувачів (або вас!).

Зняти захист робочої книги VBA

Щоб зняти захист книги, просто скористайтеся наступним рядком коду:

1 Робочі зошити ("Книга1"). Зняти захист

Примітка: цей код буде працювати, лише якщо книга була захищена без пароль. Якщо він був захищений паролем, ви також повинні ввести пароль, щоб зняти його захист:

Зняти захист книги з паролем

У цьому рядку коду буде знято захист книги, захищеної паролем:

1 Робочі зошити ("Книга1"). Зняти захист пароля: = "пароль"

або ви можете опустити пароль: =

1 Робочі зошити ("Книга1"). Зняти захист "пароля"

Зняти захист із цієї книги

Цей код зніме захист із цієї робочої книги (це робоча книга, де зберігається робочий код. Він ніколи не зміниться).

1 ЦеЗахист книги

або зняти захист цієї книги з паролем:

1 ThisWorkbook.Unprotect "пароль"

Зніміть захист із ActiveWorkbook

Цей код зніме захист ActiveWorbook.

1 ActiveWorkbook.Unprotect

або зняти захист із ActiveWorkbook паролем:

1 ActiveWorkbook. Зняти захист "пароля"

Зніміть захист усіх відкритих книг

Цей код зніме захист з усіх відкритих книг:

12345678 Sub UnprotectAllOpenWorkbooks ()Dim wb Як робочий зошитДля кожного wb у робочих зошитахwb.Зняти захистНаступна вбEnd Sub

Зняти захист робочої книги - не знаючи пароля

Якщо вам потрібно зняти захист книги, не знаючи пароля, вам допоможуть кілька надбудов. Я б порекомендував Ribbon Commander.

Зніміть захист усіх аркушів у робочій книзі

Після зняття захисту книги, ви також можете зняти захист усіх аркушів у книзі. Нижче наведено процедуру, яка зніме захист усіх аркушів:

12345678 Sub UnProtectWorkbookAndAllSheets ()Затемнити як робочий аркушActiveWorkbook.UnprotectДля кожного ws у робочих аркушахws.UnprotectДаліEnd Sub

Захистіть зошит

Ви можете захистити структури книг так само, як і зняти захист.

Захистити книгу без пароля

Цей рядок коду захистить книгу (без пароля)

1 Робочі зошити ("Книга1"). Захист

Примітка: Я часто застосовую захист робочої книги без паролів, просто для запобігання випадково зміни до трудових книжок.

Захистіть робочу книгу паролем

Цей код захищатиме структуру книги (паролем)

1 Робочі зошити ("Книга1"). Захистіть "пароль"

або:

1 Робочі зошити ("Книга1"). Захистити пароль: = "пароль"

Файл Excel, захищений паролем

Замість захисту робочої книги, можливо, ви захочете захистити паролем весь файл Excel. Для цього за допомогою VBA збережіть книгу як пароль із паролем:

1 Робочі зошити ("Книга1"). Зберегти як "пароль"

Приклади захисту / зняття захисту робочої книги

Показати всі робочі аркуші в захищеній книзі

Ця процедура зніме захист книги, приховає всі аркуші та знову захистить книгу

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 ПідзахистWB_Protect_All_Sheets_Pswrd ()Затемнити як робочий аркушActiveWorkbook. Зняти захист "пароля"Для кожного ws у робочих аркушахws.Захистіть "пароль"ДаліActiveWorkbook.Захистіть "пароль"End Sub
wave wave wave wave wave