Microsoft Office Excel
uređuje Dragan Grbić

Bookmark and Share
Matična strana sajta
  Novo na sajtu
  Mapa sajta
  Beleške
  Kontakt
  Pretraga MSKB

 Blog Praktikuma
  RSS feed
  P@W @Tw

  Izvezi stranicu u PDF
 
Office Praktikum

Još o Excelu
 


Skoro svakodnevno slušamo
  Radio Paradise:
  eklektični muzički online radio bez reklama!
 

 
       

Sponzori sajta

SBB CS 1.6 game server: 82.117.200.1
 
Connectivity by SBB

 
Suština pasijansa
Suština pasijansa
 


 

Informacije

NOVOSTI

I još dva nova priloga o Excelu
Novi prilozi o Wordu
Novi i prilozi u temi "razno o Officeu"
Novi članci o novostima u Officeu 2010!

SADRŽAJI ZA PREUZIMANJE

Lokalizacija Total Commandera 7.51Obe jezičke školjke za popularni program na srpskom sad funkcionišu u bilo kojoj varijanti Windowsa!
RNDalica.ExcelDodatak za Excel 2007/2010 za generisanje slučajnih podataka!
YuConv.ExcelDodatak za Excel 2007/2010 za konverziju pisama!
YuConvNetDodatak za Word 2007/2010 za konverziju pisama i kodnih rasporeda!

SKREĆEMO PAŽNJU

Kako pretraživati MSKB
a pronaći ćete i još mnogo novih sadržaja...

KONTAKT

Da li znate za pravila koja važe pri kontaktu sa nama? Molimo vas da se obavestite o tome!
 
POZIVAMO VAS

i prenesite svoja iskustva. Najbolji prilozi će biti objavljeni.

  (C) 2000-2010 Praktikum na Webu
 

Drugostepena zaštita radnog lista

Nivo:  NIVO 4 - klinite za objašnjenje


Ako ste napravili neko namensko rešenje u Excelu, verovatno ste zaštitili strukturu radnog lista zaključavanjem, kako ne bi došlo do nehotičnog ili namernog oštećenja strukture u toku rada korisnika. Ponekad to nije dovoljno: neki korisnici pokušavaju da zaobiđu ograničenja koja im postavljate. Nadmudrivanje je u toku.

Da vas podsetim: kada primenite komandu Alatke / Zaštiti / Zaštiti radni list (Tools / Protection / Protect Sheet), biće omogućena promena samo u ćelijama koje su obeležene kao otključane. Da biste unapred otključali neku ćeliju ili obeleženi opseg, pređite u dijalog za uređenje ćelije (Ctrl+1) i na kartici Zaštita (Protection) isključite polje Zaključana (Locked). Na istom mestu možete zaštititi i prikaz formula u liniji za unos iznad radnog lista: uključite polje za potvrdu Skrivena (Hidden) i formula se više neće videti kada aktivirate zaštitu radnog lista. Ako koristite Excel 2002 ili 2003, prilikom zaključavanja su vam na raspolaganju mnoge detaljne opcije; tako možete postići vrlo finu granulaciju zaštite, formirajući neke posebne uslove za rad korisnika. Obratite pažnju na zgodnu opciju: ako u dijalogu za postavljanje zaštite isključite dozvolu Biranje zaključanih ćelija (Select locked cells), time ćete potpuno ograničiti korisnika na kretanje samo među otključanim sadržajem.

Neki znatiželjni korisnici se ponekad dovijaju u pokušaju da provale zaštićenu strukturu, pa pokušavaju da iskopiraju celokupni radni list na drugi, čime dobijaju kloniranu strukturu koja nije zaključana. Ovo je jedan od razloga zašto biste sakrili vidljivost formula, ako vam je do toga stalo: u tom slučaju, umesto formule će biti preneta samo zatečena vrednost u ćeliji formule, a ne i reference. Međutim, ako baš terate mak na konac, otkriću vam jednu pojedinost: Excel neće zaštiti formule koje ste možda postavili kao kriterijum za uslovno oblikovanje (conditional formatting), pa će ipak postojati "mali propust" u vašoj nameri da sakrijete baš sve trikove koje ste ugradili u svoju Excel aplikaciju. U takvim slučajevima vam preostaje poslednja mera: sprečite kopiranje sadržaja primenom VBA procedure koju ćete dodeliti radnom listu. Otvorite VBE (Alt+F11), kliknite dvaput na ime radnog lista da biste otvorili njegov modul, pa tamo tačno prenesite kratki makro:

Private Sub Worksheet_Deactivate()
 Application.CutCopyMode = False
End Sub

Ovaj mehanizam je vrlo prost: rezervisano ime služi za hvatanje događaja napuštanja radnog lista, a on će se desiti svaki put kad korisnik pređe na mesto na koje želi da prenese sadržaj; u tom času, sadržaj stevke će se isprazniti, pa korisnik neće imati šta da postavi na ciljno mesto.

Ako ćemo baš mak na konac, ovo je možda prejaka zaštita: ponekad bi kopiranje trebalo da bude dozvoljeno. Recimo da ste obezbedili mogućnost da neki korisnik otključa radni list (ako je zaštita radnog lista aktivirana pod lozinkom, tim bolje), pa da iskopira nešto na drugi radni list, a zatim da vrati zaštitu. Tada je potrebna "klackalica" koja će menjati dozvolu za kopiranje. Izvešćete je ovako:

Private Sub Worksheet_Deactivate()
  If ActiveSheet.ProtectContents = True Then
    Application.CutCopyMode = False
  End If
End Sub

Ako nemate ništa protiv, ovo je dobar čas da raspravimo jednu zanimljivu stvar.

Nedavno mi je jedan kolega zamerio na sličnom rešenju, govoreći kako je besmisleno angažovati VBA za takav posao, jer se rad makroa može sprečiti, pa cela ova priča pada u vodu. Slegnuo sam ramenima: kolega je u pravu. Umesto apsolutne zaštite, koja na nivou Office programa realno ne postoji, hajde da govorimo o dovoljnoj zaštiti. Šta smatrate dovoljnom zaštitom?

Dobro pamtim program jednog svog nazovi-kolege, koji se hvalio kako je napravio čudo neviđeno... Program je služio za nekakvu trivijalnu evidenciju u blagajni. Tobože da bi prikrio sadržaje, kolega je postavio sistem dvostrukih lozinki, čak praveći neki modul koji je obezbeđivao brzo zastarivanje lozinki koje su čuvane u kriptovanom stanju. Groteska je u tome što je taj program bio pisan u Clipperu, model baze podataka je bio trivijalan, a same DBF datoteke otvorene za bilo čiju upotrebu; bilo je dovolnjo nekoliko minuta da razumete i izolujete bilo kakav podatak koji biste videli u tabeli transakcija. Onaj modul za kriptovanje lozinki pritom nije bio upotrebljen, a moglo je da bude tako, ako je kolegi bilo stalo do zaštite. Rečju, promašena tema domaćeg zadatka...

Činjenica da želite da zaštitite Excel aplikaciju od narušavanja nije isto što i zaštita unutrašnjeg sadržaja. Ako vam je stalo da sprečite korisnika da razume strukturu vaše aplikacije, to je u redu (ako mislite da tako mora da bude). Zaštitite svoj sistem tako što će ili raditi ispravno ili će biti nefunkcionalan. Ako želite tajnost, zaključajte stukture: ključne formule smestite na poseban radni list, zatim taj list sakrijte kroz VBA metodom xlVeryHidden (detaljnije u ovom prilogu), a na kraju zaključajte ceo VBA projekat (neki detalji na tu temu su objašnjeni u prilogu o gradnji programskih dodataka). Skriveni radni list neće biti iskopiran u kopiju radne sveske, pa zlonamernik neće imati celu strukturu u opticaju i aplikacija neće raditi.

Najzad, zaštita je i organizacioni detalj: ako neko ima toliko vremena da pokušava da provali vašu aplikaciju, onda sigurno nema vremena da radi svoj posao, pa bi bilo zanimljivo da pitate njegovog poslodavca šta misli o tome. Svojim korisnicima svakako treba da skrenete pažnju da niste raspoloženi da zatičete tragove pokušaja narušavanja bezbednosti aplikacija, pa neka to bude dovoljno za početak. Većini će to biti i dovoljno.

 

  (C) 2000-2011 Praktikum na Webu

PC 108


 
 

Vrh stranice  Prethodna stranica  Naslovna strana  Mapa sajta  Pretraga

AFORIZAM ZA DANAS OVIH DANA SLUŠAMO...

Copyright © Praktikum na Webu, 2000-2011; Valinor Design; sva prava pridržana.