„Excel“ sauga yra labai svarbi jūsų darbui. Šiame straipsnyje pristatysime metodą, kaip nustatyti skirtingas privilegijas skirtingiems vartotojams naudojant „Excel VBA“.
Ankstesniame mūsų straipsnyje Kaip sukurti prisijungimo langą, kad apsaugotumėte „Excel“ darbaknygę, pristatėme metodą, kaip sukurti prisijungimo langą prie „Excel“ darbaknygės. Tačiau kai keli vartotojai turi gauti prieigą prie dokumento, turite atlikti papildomus nustatymus. Be to, turite užtikrinti, kad tie vartotojai nepadarys neteisingų failo pakeitimų. Dabar atlikite toliau nurodytus veiksmus ir sužinokite, kaip užbaigti šią užduotį.
Nustatykite skirtingas privilegijas
Tarkime, kad šį failą modifikuoti turi trys pardavimo atstovai. Vardas ir slaptažodis nustatyti taip, kaip parodyta paveikslėlyje žemiau:
Ir kiekvienas asmuo turės pakeisti tam tikrą darbalapį.
- Norėdami atidaryti „Visual Basic“ rengyklę, klaviatūroje paspauskite sparčiuosius klavišus „Alt + F11“.
- Tada į redaktorių įdėkite naują vartotojo formą.

- Šiame žingsnyje į vartotojo formą įterpkite dvi etiketes, du teksto laukelius ir du mygtukus.
- Tada pakeiskite vartotojo formos antraštę ir tuos elementus, kuriuos įterpėte atlikdami 3 veiksmą. Taip pat galite peržiūrėti toliau esantį paveikslėlį:
- Po to antrojo teksto laukelio „PasswordChar“ pakeiskite į „*“.
- Po to dukart spustelėkite vartotojo formą.
- Tada į modulį įveskite šiuos kodus:
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
Koduose apsaugosime kitus darbalapius. O vartotojai gali keisti tik atitinkamus darbalapius. Taip pat galite pakeisti slaptažodžius pagal savo poreikį.
- Po to du kartus spustelėkite „ThisWorkbook“ VBA projekte.
- Tada įveskite šiuos kodus:
Private Sub Workbook_Open() Application.Visible = False: UserForm1.Show End Sub
- Kad vartotojai negalėtų keisti VBA kodų, turite nustatyti VBA projektų slaptažodį. Ankstesniame mūsų straipsnyje Kaip slaptažodžiu apsaugoti VBA kodus „Excel“ darbalapyje, pristatėme metodus. Taip pat galite nustatyti specialų slaptažodį.
- Galiausiai išsaugokite šį „Excel“ failą.
- Kai kitą kartą atidarysite failą, vartotojo forma nebus rodoma. Turite spustelėti mygtuką „Įjungti turinį“ faile.
- Tada pamatysite langą „Prisijungti“. Į du teksto laukelius įveskite vardą ir slaptažodį.
- Po to lange spustelėkite mygtuką „Prisijungti“.
Šiuo metu Jonas gali keisti tik savo darbalapį. Jis negali pakeisti kitų darbalapių ar VBA kodų. Be to, išskyrus tris pardavimo atstovus, niekas kitas negali atidaryti šio failo be slaptažodžio. Kitą kartą, kai turėsite tokį reikalavimą, taip pat galėsite nustatyti tokį darbo knygos prisijungimo langą.
Atpažinkite „Excel“ korupcijos problemą
Kartais „Excel“ gali sugesti dėl daugelio veiksnių. Prieš pradėdami taisyti failus, turite nustatyti problemą ir duomenų katastrofos priežastis. Be to, jei nieko nežinote apie duomenų atkūrimą, galite pataisyti sugadintą Excel xlsx naudojant trečiosios šalies įrankį. Dėl pažangiausio algoritmo šis įrankis gali ištaisyti beveik visas „Excel“ klaidas.
Autoriaus įvadas:
Anna Ma yra duomenų atkūrimo ekspertė DataNumen, Inc., kuri yra pasaulyje duomenų atkūrimo technologijų lyderė, įskaitant pataisyti sugadintą docx ir „Outlook“ taisymo programinės įrangos produktai. Norėdami gauti daugiau informacijos, apsilankykite WWW.datanumen.com



