Republicação de artigo
Como este artigo ainda é muito requisitado, resolvi recolocá-lo aqui no blog, pois anda perdido num HTML antigo do site antigo.
Introdução
O Microsoft Excel permite diversas formas de proteção de dados, incluindo ocultar planilhas e fórmulas a fim de proteger a inteligência, a lógica, da sua planilha.
É importante proteger, conservar a inteligência/lógica de nossas fórmulas, seja por proteção da propriedade intelectual ou por qualquer outro motivo. Alguns recursos são bastante conhecidos. Citarei aqui todas as formas que conheço e que creio serem suficientes para proteger nossas planilhas.
Ocultando planilhas
O método mais básico de proteger planilhas é ocultando-as através do comando: Formatar -> Planilha -> Ocultar, conforme indicado na figura a seguir:
O Excel ocultará a planilha que estiver ativa naquele momento, conforme indicado na figura a seguir:
Esta é uma maneira simples de ocultar as planilhas. Para voltar a exibira as planilhas ocultas, basta usar o comando: Formatar -> Planilha -> Reexibir, conforme indicado na figura a seguir:
Ao executar o comando Formatar -> Planilha -> Reexibir , será aberta a janela Reexibir, na qual são listadas as planilhas ocultas, conforme indicado na figura a seguir. Na listagem estão todas as planilhas ocultas, as quais poderão ser reexibidas.
Por exemplo, para reexibir a planilha Plan1, basta clicar na planilha, para seleciona-la e clicar em OK. Com isso a planilha “Plan1” voltará a ser exibida.
Protegendo e ocultando células
Podemos contornar este problema protegendo a planilha pelo modo clássico. Acionando o comando: Ferramentas -> Proteger -> Proteger planilha, teremos acesso a diferente níveis de proteção à planilha conforme mostra as duas figuras a seguir:
Dentre as opções disponíveis, as mais interessantes são:
Selecionar células bloqueadas à Desmarcando esta opção, o usuário só poderá navegar nas células que tiverem nas suas propriedades, a opção Travada desmarcada (Veja esta opção em Formatar -> Células, guia Proteção).
Selecionar células desbloqueadas à Desmarcando esta opção, o usuário não conseguirá navegar pela planilha.
Todas as outras opções trabalham nesse mesmo padrão. Deixando a caixa de seleção desmarcada, a opção corrente não será liberada ao usuário. Dessa forma você pode conduzir o usuário na utilização da planilha. Outro recurso interessante, é que marcando a opção Oculta na caixa de formatação de células, seu conteúdo (fórmulas) não serão visíveis para o usuário, mesmo que este possa navegar pela célula, conforme ilustrado pela seqüência de figuras a seguir:
Protegendo a planilha conforme citado anteriormente, o conteúdo da fórmula não estará visível na barra de fórmulas:
Outra opção bastante utilizada, porém sem muita proteção é a de ocultar as guias de planilhas no menu Ferramentas -> Opções, guia Exibir, desmarcando a opção Guias de planilha, conforme destacado na figura a seguir:
Dessa forma, planilhas exibidas ou ocultas não estarão visíveis conforme segue:
Até aí tudo bem. Mas não precisamos ser muito veteranos no Excel a ponto de saber alguns atalhos básico como Ctrl+C para copiar, Ctrl+V para colar ou até mesmo Ctrl+1 para abrir a caixa de formatação de células. Por isso, sabemos que existe um atalho também para navegação de planilhas, que é o Ctrl+PageDown para ir para a planilha à direita da planilha atual e Ctrl+PageUp para a esquerda. Ocultar as guias de planilha não impede o usuário de navegar pelas planilhas. Faça o teste e comprove. Abra uma nova pasta, oculta as guias de planilha e tente navegar com os atalhos citados acima.
Algumas combinações desses recursos podem resultar em resultados mais eficientes, porém, existe uma maneira de fazê-lo de forma simples e segura (ou quase).
Ocultando definitivamente as planilhas
As planilhas tem 3 modos de exibição, dois muito conhecidos e 1 mais restrito a usuários avançados, mas que detalharei de forma que possa ser acessível a qualquer nível de usuário.
- Visível
- Oculta
- Muito oculta <- é neste que devemos dar atenção.
Nota: A tradução do recurso (Muito oculta) é por minha conta e risco.
Para acessar este último nível de visibilidade da planilha, teremos que ir ao Editor do Visual Basic disponível no Excel.
Atenção! Dependendo do processo de instalação do Office, o Visual Basic pode não estar disponível em seu Microsoft Excel.
Para acessar o Editor do Visual Basic, vá em Ferramentas, Macro, Editor do Visual Basic, ou simplesmente no Excel, tecle Alt+F11. A janela a seguir será exibida:
Nota: Caso não consiga ver os painéis visíveis à esquerda da tela, acione-os no menu Exibir, Project Explorer (VBA Project) e Janela de propriedades. No Project Explorer, podemos ver todos os objetos de nossa pasta de trabalho hierarquizados. O primeiro é a própria pasta de trabalho, seguida de todas as planilhas identificadas pelo seu respectivo nome.
Selecionando uma das planilhas, suas propriedades serão exibidas na janela de propriedades conforme indicado na figura a seguir:
Obs : as janelas foram re-dispostas na tela para facilitar a visualização.
Detalhar todas as propriedades das planilhas é assunto para outro tutorial. Neste caso, nos atentaremos para a propriedade Visible:
Vou detalhar as opções disponíveis:
Visível |
-> |
-1 – xlSheetVisible |
Oculta |
-> |
0 – xlSheetHidden |
Muito oculta |
-> |
2 – xlSheetVeryHidden |
As duas primeiras já são conhecidas e podem ser acessadas pelo Excel como mostrado anteriormente. A propriedade Visible setada para “-1 – xlSheetVisible” é a planilha visível normalmente.
Setada para “0 – xlSheetHidden” , deixa planilha oculta, mas podendo ser exibida através do menu Formatar, planilha, Reexibir.
Já a última opção, coloca a planilha em modo oculto, de forma que nem mesmo através da opção Reexibir , poderá ser acessada! Faça o teste. Coloque a planilha Plan1 com a propriedade Visible setada para “2 – xlSheetVeryHidden”:
Retorne ao Excel, bastando fechar o Visual Basic ou clicando no botão Exibir Microsoft Excel:
Você verá que a planilha Plan1 está oculta como esperávamos. Agora tente ir ao menu Formatar -> Planilha, a opção Reexibir estará desabilitada (conforme indicado na próxima figura). Mesmo que você oculte manualmente a planilha Plan2 ou Plan3 e acionar o menu Reexibir, a planilha Plan1 não aparecerá! Porém, ela continua existindo e pode conter valores referenciados por fórmulas nas outras planilhas. Faça o teste e comprove.
Você pode estar se perguntando: Mas o que eu faço, alguém pode desfazer? A resposta é sim. Mas o nosso trabalho é dificultar ao máximo o trabalho de quem quer fazê-lo, já que não existe sistema 100% seguro, nem mesmo nos poderosos e sofisticados laboratórios na NASA.
A solução é proteger seu projeto VBA. Na mesma tela em que você alterou as configurações da planilha, vá até o Project Explorer e clique com o botão direito no título do Projeto e seleciona Propriedade do VBA Project:
Nesta tela, selecione a opção bloquear projeto para exibição e coloque uma senha para proteção do projeto. Salve e fecha a planilha. Abra-a novamente e vá ao Editor do Visual Basic (Alt+F11). Você verá que o Project Explorer será exibido da seguinte forma:
Se alguém tentar expandir o nó do projeto, verá a seguinte mensagem:
Pronto! Sua planilha está protegida! (desde que você não tenha definido uma senha que seja facilmente descoberta por programas de quebra de senhas. Uma boa senha deve ter letras, números e caracteres especiais. Se tiver somente letras e números, os programas de quebra de senha, como o Passware Kit, irão descobrir a senha em menos de um minuto).
É claro que esta não é uma proteção infalível, até mesmo porque nós mesmos temos o péssimo costume de não anotar senhas e acabamos virando nossa defesa contra nós mesmos. Programas para quebrar senhas como o Advanced Office 2000 Password Recovery podem recuperar a senha de projetos VBA ou sobreescrevê-las para que possam ser acessados.
Meu conselho para este tipo de ferramenta é você adotar uma metodologia segura de definição de senhas, por exemplo, não colocar informações pessoais, não colocar senhas do tipo “1234”. Sempre procure colocar senhas que não se relacionem em nada com você e que contenham letras e números intercalados e, o mais importante, sempre tenha senhas com mais de 6 ou 7 dígitos.
Creio que seguindo estas metodologias, é possível ter um nível de segurança razoável em nossos trabalhos com o Microsoft Excel.
Forte abraço!