Mostrando postagens com marcador Editor de VBA. Mostrar todas as postagens
Mostrando postagens com marcador Editor de VBA. Mostrar todas as postagens

quinta-feira, 23 de julho de 2015

Ocultando guias de planilha com senha - VBA

Como vimos em post anterior (Proteger e ocultar Dados em Células), O MS Excel possui variadas formas de proteção aos seus dados, incluindo ocultar conteúdos e fórmulas a fim de proteger informações ou a lógica de seus resultados.

Em alguns momentos podemos sentir a necessidade de proteger uma guia de planilha de uma pasta de trabalho que será compartilhada ou enviada a um colega do trabalho ou até mesmo um cliente, para que eles não tenham acesso a determinadas informações. Um dos recursos seria ocultar a Guia de planilha que não desejamos que seja visualizada, porém esse recurso se esvai facilmente porque se pode pedir para reexibir sem esforço algum.

Por isso vamos aprender a ocultar a guia de planilha através de um código em VBA e ainda atribuir senha quando desejar re-exibir novamente ok? Vamos lá?

Ocultando Guias sem proteção

A forma mais fácil e básica de ocultar uma guia de planilha é selecionar a guia que ficará escondida (para selecionar mais que uma guia basta clicar na primeira, segurar a tecla SHIFT e clicar nas demais guias), clicar com botão direito do mouse e escolher a opção ocultar. 

Para voltar a exibir a(s) planilha(s) oculta(s), basta clicar com botão direito do mouse em qualquer guia de planilha e escolher a opção re-exibir. Será aberta a janela Reexibir, na qual estarão listadas todas as guias que estiverem ocultas, conforme indicado na figura a abaixo. Selecione a que deseja reexibir e clique em Ok.


Ocultando todas as Guias da pasta de trabalho

Outra opção bastante utilizada, porém sem muita proteção é a de ocultar todas as guias de planilhas. Vamos experimentar? 

1. Guia arquivo (versão 2010, na versão 2007 clique no Botão Office) -> escolha Opções surgirá a janela de Opções de Excel.
2. Escolha a opção Avançado do painel da esquerda;
3. Role a barra de rolagem até visualizar o grupo de opções de exibição desta pasta de trabalho e desmarque Mostrar guias de planilha e OK.

Dessa forma, planilhas exibidas ou ocultas não estarão visíveis conforme segue:


Bem...até agora deu tudo certo não é? Mas sabemos que não precisa ser um expert em Excel para conhecer alguns atalhos básicos como Ctrl + C /Ctrl + V, para a cópia de informações e a navegação entre planilhas, que é o Ctrl + PageDown para ir para a planilha à direita da atual e Ctrl + PageUp para a esquerda. 

Então, conclui-se que somente ocultar todas as guias de planilha não impedirá que o usuário navegue por suas planilhas visualizando suas informações.

OBS: Caso queira abra uma planilha e vá testando as informações passadas até aqui. Oculte as guias e use os atalhos de navegação e teste e comprove os atalhos citados acima.

Ocultando as Guias planilhas e Protegendo com senha.

Agora vamos conhecer um recurso onde podemos ocultar as guias de planilha definitivamente protegendo-as com senha. Esse recurso impede que tenham acesso às informações que você não deseja que sejam visualizadas ou alteradas e ainda possibilita que possa trabalhar normalmente com dados provenientes da planilha oculta sem re-exibi-la a todo o momento.

Vamos proteger apenas algumas guias específicas da planilha e não a pasta de trabalho toda (todas as guias), de forma que essas guias protegidas só possam ser vistas caso o usuário insira uma senha.

Mãos a obra!!

Atenção: Teremos que acessar o Editor do Visual Basic disponível no Excel e embora possamos acessá-lo através de atalhos, é interessante termos a nossa disposição a Guia Desenvolvedor caso queira associar macros a botões. (caso tenha esquecido de como ativa-la visite o post anterior "Filtro Avançado com Macro").

Para acessar o Editor do Visual Basic, vá na Guia Desenvolvedor, ferramenta Visual Basic do agrupamento Código ou tecle Alt+F11. A janela a seguir será exibida:
Nota: Caso não esteja visualizando os painéis visíveis à esquerda da tela, vá ao 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. E a janela de propriedades nos diz todas as características dos objetos.

Selecione a guia de planilha que deseja ocultar e observe que suas propriedades serão exibidas na janela de propriedades logo abaixo, conforme indicado na figura a seguir:
No momento o que vai nos interessar é a propriedade Visible (detalhes sobre as outras propriedades é assunto para outro post). 

Bem...chegamos até aqui, agora é hora de praticar ocultando uma guia de planilha. 

1. No painel do Project Explorer, selecione a guia de planilha que deseje ocultar, em seguida vá até a propriedade Visible, clique na seta Drop Down e escolha a opção “2 – xlSheetVeryHidden”:



2. Retorne ao Excel: pode-se clicar no botão fechar, mas aconselho a ir ao Menu  Arquivo® Fechar e Retornar ao Excel (ALT + Q).  


Você perceberá que a planilha selecionada por você estará oculta. Experimente clicar com botão direito do mouse em cima de qualquer Guia de planilha, perceba que a opção Reexibir esta desabilitada (conforme indicado na imagem abaixo). 


Mesmo que você oculte manualmente outras guias de planilha e retorne a re-exibi-las, a planilha que foi ocultada pelo Editor de Visual Basic não aparecerá. Lembre-se de que ela continua existindo e pode até conter valores referenciados por fórmulas nas outras planilhas que funcionará perfeitamente.
Pratique para comprovar seu funcionamento até aqui antes de continuarmos!

Protegendo a Guia oculta com Senha

Você pode estar se perguntando: Mas do jeito que fiz alguém que conheça esse recurso poderá desfazer não é mesmo? Sim, mas temos a solução! Proteger seu projeto VBA inserindo senha. 
(veja o passo a passo no Post Proteger seu Código VBA em Excel).

Atenção!!!

A proteção com senha na janela VBA, só funciona se houver algum código existente, nem que seja uma macro simples ok?

Até breve!!!


Proteger seu Código VBA em Excel

Desenvolver um projeto é bem trabalhoso, e em alguns casos gasta-se muito tempo com dedicação e estudo para a sua concepção, desde a estrutura até que todos os códigos estejam prontos, testados e implementados. Tudo isso não pode simplesmente ficar vulnerável a alterações de quem não estiver ligado ao projeto.

O VBA nos dá um grande poder de criação no Excel, porém se o mesmo estiver desprotegido, poderá ser acessado por qualquer pessoa, que tenha o conhecimento de como chegar ao editor de VBA, e ser modificado, afetando todo o seu desenvolvimento, sendo extremamente necessário e importante bloquear o acesso ao VBA do Excel.

Então vamos lá aprender como bloquear nossos códigos? Mãos à obra!!

1. Abra uma planilha que contenha macros, ou seja, códigos em VBA;

2. Ative a janela do VBA pressionando ALT + F11 ou acesse a Guia Desenvolvedor, clicando em Visual Basic.**


** Caso não se lembre de como ativar sua Guia Desenvolvedor, se reporte ao post anterior “Filtro avançado com macro”.

3Na janela do VBA, clique em Menu Ferramentas ou em cima do título do Projeto com botão direito do mouse e escolha a opção Propriedade do VBA Project. 




4. Surgira a Janela de Propriedades do Projeto, onde você deverá ativar a Guia proteção, selecionar a opção bloquear projeto para exibição e coloque uma senha para proteção do projeto.



5. Retorne ao Excel (ALT + Q ou Menu Arquivo Sair e Retornar ao Excel), salve e feche a planilha.

6. Abra-a novamente e vá ao Editor do Visual Basic (Alt+F11). Você verá que o Project Explorer será exibido da seguinte forma:


7. alguém tentar expandir o nó do projeto, verá a seguinte mensagem:


Pronto! Seus Códigos VBA estão protegidos! (desde que você não tenha definido uma senha que seja facilmente descoberta por programas de quebra de senhas).

Meu conselho para este tipo de ferramenta é que você adote 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ê sempre tenha senhas com mais de 6 ou 7 dígitos.

OBS: Uma boa senha deve ter letras, números e caracteres especiais intercalados. Se tiver somente letras e números, os programas de quebra de senha irão descobri-la em menos de um minuto.

Creio que seguindo estas metodologias, é possível ter um nível de segurança razoável em nossos trabalhos com o Microsoft Excel.

Até a próxima dica!
Related Posts Plugin for WordPress, Blogger...

Receba Atualizações e novidades por e-mail!

Informar Treinamentos