Posso proteger por senha uma macro do Excel?

4

Eu sei que é possível proteger com senha uma pasta de trabalho inteira do Excel, mas posso ter a pasta de trabalho aberta (sem senha) e ainda proteger com senha apenas a macro?

(Estou usando o Excel 2007.)

Atualização: para ficar claro, estou procurando proteger o acesso a senha para visualizar a macro e não para executá-la. Então, todos devem poder executá-lo, mas só eu posso acessar o código-fonte.

    
por Wikis 05.10.2011 / 17:32

2 respostas

3

Para adicionar a resposta do @ music2myear, você também pode proteger o código VBA da pasta de trabalho, para que o usuário não possa lê-la para obter a senha. No VBE, clique com o botão direito do mouse no projeto e escolha Propriedades do VBAProject e clique na guia Proteção.

    
por 05.10.2011 / 22:30
2

Você pode fazer a macro pedir uma senha. Contanto que o usuário não tenha os comandos para procurar a senha no próprio código do VBA, isso pode ser muito, muito fácil.

Basta usar um InputBox para solicitar a senha. Se a entrada corresponder a uma determinada string, você permitirá que a macro continue.

Você pode torná-lo mais complexo, mas ainda relativamente simples, traduzindo o texto da senha em números e executando operações matemáticas nesses números para criar um simples "hash". Então você apenas pega qualquer Input e executa as mesmas operações antes de executar a comparação.

Este link mostra como você pode usar esse método para verificar várias senhas possíveis e fazer coisas diferentes com base nelas: link

Este link mostra como substituir o texto de entrada por asteriscos como uma caixa de senha "real": link

    
por 05.10.2011 / 17:42