Trick # 3

Deși Excel oferă protecție generală pentru registrele de lucru și foile de lucru, acest instrument brut nu poate oferi utilizatorilor privilegii limitate - cu excepția cazului în care aplicați câteva trucuri.







Gestionați interacțiunea utilizatorilor cu foile dvs. de calcul observând și răspunzând la evenimente. Evenimentele sunt acțiuni care apar în timp ce lucrați cu cărți și foi. Cele mai frecvente evenimente care apar sunt deschiderea unui registru de lucru, păstrarea și închiderea acestuia după finalizarea lucrării. Puteți forța Excel să execute automat un cod Visual Basic în momentul în care apare unul dintre aceste evenimente.

Utilizatorii pot ocoli această protecție prin dezactivarea completă a macrocomenzilor. Dacă aleg nivelul de securitate mediu, atunci la deschiderea listei de lucru vor vedea un mesaj despre prezența unei macrocomenzi în el și sugestia de a dezactiva macrocomenzile. La nivelul de securitate, macrocomenzile High (High) vor fi dezactivate automat. Pe de altă parte, dacă sunt necesare macrocomenzi în foaia de calcul, este posibil ca utilizatorii să includă utilizarea de macrocomenzi. Aceste trucuri sunt doar o caracteristică convenabilă și nu oferă o protecție puternică a datelor.

Dezactivați comanda Salvare ca în registrul de lucru.

Aveți posibilitatea să vă asigurați că toate registrele de lucru sunt salvate în modul numai pentru citire. Pentru aceasta, în fila → Salvare setări, bifați caseta de selectare recomandată doar pentru citire. Deci nu veți permite utilizatorului să salveze modificările pe care le poate face în fișier. Utilizatorul va putea să salveze fișierul modificat numai sub un nume diferit sau într-un alt folder.

Uneori, cu toate acestea, trebuie să împiedicați utilizatorii să salveze copii ale cărții de lucru într-un alt director sau într-un alt dosar, indiferent dacă se utilizează același nume sau alt nume. Cu alte cuvinte, trebuie să permiteți utilizatorilor să salveze un fișier în partea de sus a unui fișier existent, dar să împiedice copierea memorată în alt loc. Acest lucru este util mai ales când mai multe persoane salvează modificările din registrul de lucru și nu trebuie să colectați multe copii diferite ale aceleiași cărți cu aceleași nume în diferite dosare.

Eveniment Înainte de a salva, pe care îl va folosi următorul cod, a fost creat pentru prima dată în Excel 97. După cum sugerează și numele, acest eveniment are loc înainte de a salva registrul de lucru, permițându-vă pentru a prinde acțiunile utilizatorului, chiar înainte de acest fapt, să emită un avertisment și să interzică Excel pentru a salva fișierul.

Înainte de a încerca următorul truc, asigurați-vă că ați salvat mai întâi registrul de lucru. Dacă scrieți acest cod înainte de a salva cartea, nu mai puteți salva modificările.


Pentru a scrie codul, deschideți registrul de lucru, faceți clic dreapta pe pictograma Excel din stânga meniului Fișier din bara de meniu a foii de lucru și selectați Vizualizare cod.







Introduceți codul următor în VBE și apăsați Alt + Apple + Q pentru a reveni la Excel.

// Listarea 1.3 Private Sub workbook_BeforeSave (ByVal SaveAsUI Ca boolean, Anulare Ca Boolean) Dim lReply atâta timp Dacă SaveAsUI = True Apoi lReply = MsgBox ( "Ne pare rău, nu puteți ține cartea sub acest imeenm." _ "Salvați sub un alt nume?"., VbQuestion + vbOKCancel) Cancel = (lReply = vbCancel) Dacă Cancel = false Apoi Me.Save Cancel = True End If End Sub

Verificați ce sa întâmplat. Selectați comanda Fișier → Salvare (Fișier → Salvare); Registrul de lucru va fi salvat. Selectând comanda Fișier → Salvare ca, veți vedea un mesaj care să ateste că este interzisă salvarea acestei cărți sub un nume diferit.

Interzicerea tipăririi unui registru de lucru

Uneori este nevoie să interzicem utilizatorii să tipărească un registru de lucru, eliminând astfel posibilitatea de a le primi într-o cutie de gunoi sau undeva în ochii publicului. Utilizând evenimentul Excel Before Print, puteți urmări și avertiza acțiunile utilizatorilor. Ca și înainte, introduceți codul din Lista 1.4 în VBE.

// Listing 1.4 Sub-workbook_BeforePrint (Anulare ca boolean) Cancel = True MsgBox "Din păcate, nu puteți imprima acest fișier", vbInformation End Sub

După ce ați terminat de introdus codul, apăsați Alt + Apple + Q pentru ao salva și a reveni la Excel. Acum, de fiecare dată când utilizatorii încearcă să tipărească acest registru de lucru, nu se întâmplă nimic. Linia de mesaje MsgBox este opțională, dar este întotdeauna utilă să o activați, cel puțin să informați utilizatorul și nu a început să deranjeze departamentul de calculatoare, raportând o eroare în program.

Dacă doriți ca utilizatorii să nu poată tipări numai anumite coli în carte, utilizați cel prezentat în Lista 1.5 în locul codului anterior.

// Listarea 1.5 Private Sub workbook_BeforePrint (Anulare Ca Boolean) Selectați Case ActiveSheet.Name Case "Sheet1", "Foaie2" Cancel = True MsgBox "Ne pare rău, nu puteți imprima o listă a cărții", vbInformation End Select End Sub

Rețineți că imprimarea va fi oprită numai pentru foile Sheet1 și Sheet2. Desigur, numele foilor din registrul de lucru pot fi oricare. Pentru a le adăuga în lista de coduri, scrieți-le în citate, separate prin virgule. Dacă doriți să împiedicați imprimarea unei singure coli, specificați un singur nume în ghilimele, fără a introduce o virgulă.

Interzicerea adăugării foilor de lucru

Excel vă permite să protejeze structura registru de lucru, astfel încât utilizatorii nu pot șterge liste, reordona, redenumi, și așa mai departe .. Uneori, cu toate acestea, este necesar pentru a împiedica utilizatorii să adauge foile de lucru, în același timp, permițând alte modificări în structura cărții. Codul din Lista 1.6 vă va ajuta să faceți acest lucru.

// Listarea 1.6 Private Sub Workbook_NewSheet (ByVal Sh ca obiect) Application.DisplayAlerts = MsgBox false "Ne pare rău, nu puteți adăuga mai multe foi în această carte", vbInformation Sh.Delete Application.DisplayAlerts = True End Sub

În primul rând, acest cod afișează o casetă de mesaj și apoi, de îndată ce utilizatorul face clic pe butonul OK, șterge imediat foaia nou adăugată. Aplicația.DisplayAlerts = Linia falsă interzice afișarea unui avertisment standard din Excel care întreabă dacă utilizatorul dorește cu adevărat să șterge foaia. Acum utilizatorii nu pot adăuga foi de lucru în registrul de lucru.

O altă modalitate de a împiedica utilizatorii să adauge foi este să aleagă Instrumente → Protejare → Protejare registru de lucru (Instrumente → Protecție → Protejare registru de lucru). Asigurați-vă că ați selectat caseta de selectare Structură și faceți clic pe OK. Cu toate acestea, așa cum am menționat la începutul acestei secțiuni, protecția standard a foilor de lucru în Excel este un instrument foarte brut care blochează simultan multe alte caracteristici Excel.







Articole similare

Trimiteți-le prietenilor: