? Låsning kan inte hindra andra från att visa kalkylblad information, men till viss del , kan den se till att din information förblir intakt . Kalkylblad skydd via låsning - en process som i huvudsak sätter ett kalkylblad till " skrivskyddad " status - är ett vanligt inslag i kalkylprogram som Microsoft Excel . Medan låsning ofta stoppar tittare från att ändra strukturen i ett kalkylblad eller innehållet i sina celler , kan en korrekt kodad makro bevisa snabbt att låsningen inte är en idiotsäker säkerhetsåtgärd , oavsett vilket kalkylprogram du använder . Identifiering
Makron liknar de formler och funktioner du redan använder för att styra hur kalkylbladsceller beter sig. Skillnaden är att makron innehåller instruktioner för en viss uppgift med hjälp av koden programmeringsspråk . Excel använder en version av Visual Basic programmeringsspråk som kallas Visual Basic for Applications , ett enkelt men kraftfullt språk som " trumf " kalkylblad skydd och enkel krypteringssystem som lösenordsskydd ger . Som ett resultat , kan du eller någon med grundläggande kunskaper i programmering skapa ett makro som kommer att åsidosätta skydd och låsa upp kalkylbladet .
Illustration
Som ett exempel , följande fåtal rader VBA-kod åsidosätter och låsa varje kalkylblad i en Excel-arbetsbok . Dessutom kommer du ställer in lösenordet fältet till " hemlig " avaktivera ett kalkylblad lösenord :
Sub UnlockWorksheets ( ) Dim wsWorksheet Som WorksheetFor Varje wsWorksheet I ActiveWorkbook.WorksheetswsWorksheet.Unprotect Password : = " hemliga " NästaSlut Sub
Addera Alternativ
Trots att veta hur lätt det kan vara för nyfikna ögon och flinka fingrar kompromissa uppgifter kan vara irriterande , är detta bara ett scenario . Nötkött upp din övergripande policies datasäkerhet och sedan använda det faktum att makron kan åsidosätta en låst kalkylblad till din fördel . Till exempel, om , efter låsning ett kalkylblad , befinner du dig regelbundet låsa den för att utföra en viss uppgift , skapa ett makro som kommer att låsa upp det aktiva kalkylbladet med hjälp av ett lösenord du anger , slutföra uppgiften för dig och sedan automatiskt ersätta låset :
ActiveSheet.Unprotect ( "password " ) ... instruktioner för att slutföra taskActiveSheet.Protect ( "password " )
Överväganden
Tänk både låsning kalkylbladet och använder ett enkelt makro att begrava ett kalkylblad från tanke till den grad att det inte kommer att dyka upp om en användare försöker att visa "dolda" kalkylblad . Om du väljer att dölja ett kalkylblad på detta sätt , men du måste också skapa och köra ett annat makro för att göra det synligt igen : .
Sub Göm ( ) Sheets ( " sheet nummer " ) Visible = xlVeryHiddenEnd Sub
Sub Unhide ( ) för varje x i activeworkbook.sheetsx.visible = truenext xEnd Sub