? Locking kan ikke stoppe andre fra å vise regneark informasjon, men til en viss grad , kan det sikre at din informasjon forblir intakt . Regneark beskyttelse via låsing - en prosess som i hovedsak setter et regneark til " read-only " status - er en vanlig funksjon i regneark programvare som Microsoft Excel. Mens låsing ofte stopper seere fra å endre strukturen i et regneark eller innholdet av sine celler , kan en riktig kodet makro raskt bevise at låsing er ikke en idiotsikker sikkerhetstiltak , uansett hvilket regnearkprogram du bruker . Identifikasjon
Makroer er lik formler og funksjoner du allerede bruker til å kontrollere hvordan regneark cellene oppfører seg . Forskjellen er at makroer inneholder instruksjoner for å fullføre en bestemt oppgave ved hjelp av programmeringsspråk kode . Excel bruker en versjon av Visual Basic programmeringsspråk kalt Visual Basic for Applications , et enkelt men kraftig språk som " trumfer " regneark beskyttelse og enkel kryptering system som passordbeskyttelse gir. Som et resultat, kan du eller noen med grunnleggende kunnskap om programmering lage en makro som vil overstyre beskyttelse og låse regnearket .
Illustrasjon
p Som et eksempel , følgende par linjer med VBA -kode vil overstyre og låse opp alle regneark i en Excel-arbeidsbok . I tillegg vil sette passord -feltet til "hemmelige" deaktivere et regneark passord :
Gå UnlockWorksheets () Dim wsWorksheet Som WorksheetFor Hver wsWorksheet I ActiveWorkbook.WorksheetswsWorksheet.Unprotect Passord: = "hemmelige " NesteSiste Sub
Options
Selv vet hvor lett det kan være for nysgjerrige øyne og kvikk fingre til kompromiss data kan nervepirrende , dette er bare ett scenario. Beef opp de samlede data sikkerhetspolicyer og deretter bruke det faktum at makroer kan overstyre en låst regneark til din fordel. For eksempel, hvis , etter å ha låst et regneark , finner du deg selv jevnlig låse den til å utføre en bestemt oppgave , lage en makro som vil låse det aktive regnearket ved hjelp av et passord du angir , fullføre oppgaven for deg, og deretter automatisk skifte lås :
ActiveSheet.Unprotect ( "passord ") ... instruksjoner for å fullføre taskActiveSheet.Protect ( "passord ")
Hensyn
Tenk både låsing regnearket og ved hjelp av en enkel makro å begrave et regneark fra visningen til det punktet at det ikke vil dukke opp hvis en bruker forsøker å vise "skjulte" regneark . Hvis du velger å skjule et regneark på denne måten , men vil du også trenger for å lage og kjøre en annen makro å gjøre den synlig igjen : .
Sub skjul ( ) Sheets ( "ark nummer" ) Visible = xlVeryHiddenEnd Sub
Sub skjul ( ) for hver xi activeworkbook.sheetsx.visible = truenext xEnd Sub