Безпека Excel досить важлива для вашої роботи. У цій статті ми представимо метод встановлення різних привілеїв для різних користувачів за допомогою Excel VBA.
У нашій попередній статті Як створити вікно входу для захисту книги Excel, ми представили метод створення вікна входу для вашої книги Excel. Але коли декільком користувачам потрібно отримати доступ до документа, вам потрібно зробити додаткові налаштування. Крім того, вам потрібно гарантувати, що ці користувачі не вносять помилкові зміни у файл. Тепер виконайте наведені нижче дії та подивіться, як виконати це завдання.
Встановіть різні привілеї
Припустимо, зараз є три торгові представники, яким потрібно змінити цей файл. Ім'я та пароль встановлені, як показано на малюнку нижче:
І кожній людині потрібно буде змінити певний аркуш.
- Натисніть комбінаційні клавіші “Alt + F11” на клавіатурі, щоб відкрити редактор Visual Basic.
- А потім вставте нову форму користувача в редактор.

- На цьому кроці вставте у форму користувача дві мітки, два текстові поля та дві кнопки.
- А потім змініть підпис для форми користувача та тих елементів, які ви вставите на кроці 3. Ви також можете звернутися до зображення нижче:
- Після цього змініть «PasswordChar» на «*» для другого текстового поля.
- Після цього двічі клацніть форму користувача.
- Далі введіть наступні коди в модуль:
Private Sub CommandButton1_Click() Dim objTargetWorksheet As Worksheet If (TextBox1.Value = "John" And TextBox2.Value = "234") _ Or (TextBox1.Value = "Amy" And TextBox2.Value = "345") _ Or (TextBox1.Value = "Paul" And TextBox2.Value = "456") Then Me.Hide: Application.Visible = True For Each objTargetWorksheet In ActiveWorkbook.Worksheets If objTargetWorksheet.Name = TextBox1.Value Then objTargetWorksheet.Unprotect Password:=12345 Else objTargetWorksheet.Protect Password:=12345, DrawingObjects:=True, Contents:=True, Scenarios:=True End If Next Else MsgBox "Please input the right user name and the right password" End If End Sub Private Sub CommandButton2_Click() ThisWorkbook.Application.Quit End Sub Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer) ThisWorkbook.Application.Quit End Sub
У кодах ми захистимо інші робочі аркуші. А користувачі можуть змінювати лише відповідні робочі аркуші. Ви також можете змінити паролі відповідно до своїх потреб.
- Після цього двічі клацніть на "ThisWorkbook" у проекті VBA.
- А потім введіть в нього такі коди:
Private Sub Workbook_Open() Application.Visible = False: UserForm1.Show End Sub
- Для того, щоб заважати користувачам змінювати коди VBA, вам потрібно встановити пароль для проектів VBA. У нашій попередній статті Як захистити паролем коди VBA на робочому аркуші Excel, ми ввели методи. Ви також можете встановити спеціальний пароль.
- Зрештою, збережіть цей файл Excel.
- Наступного разу, коли ви відкриєте файл, форма користувача не відображатиметься. Вам потрібно натиснути кнопку «Увімкнути вміст» у файлі.
- І тоді ви побачите вікно “Вхід”. Введіть ім’я та пароль у два текстові поля.
- Після цього натисніть кнопку «Увійти» у вікні.
На даний момент Джон може лише змінити свій аркуш. Він не може змінити інші аркуші чи коди VBA. Крім того, крім трьох торгових представників, ніхто інший не може відкрити цей файл без пароля. Наступного разу, коли у вас виникне така вимога, ви також можете встановити таке вікно входу для книги.
Визнати проблему в корупції Excel
Часом Excel може пошкоджуватися внаслідок багатьох факторів. Перш ніж почати виправляти файли, потрібно визначити проблему та причини втрати даних. Крім того, якщо ви нічого не знаєте про відновлення даних, ви можете відновити корумпований за допомогою стороннього інструменту. Завдяки передовому алгоритму цей інструмент може обробляти майже всі помилки Excel.
Вступ автора:
Анна Ма - експерт із відновлення даних у DataNumen, Inc., яка є світовим лідером у галузі технологій відновлення даних, в тому числі відновлення пошкоджених та перспективні програмні продукти для ремонту. Для отримання додаткової інформації відвідайте WWW.datanumen.com



