Senha do projeto VBA
Bloqueio visual rápido contra a abertura acidental. Muitas ferramentas gratuitas conseguem removê-lo. Útil apenas diante de usuários honestos.
Proteção de código VBA
A proteção VBA não é binária. O XLS Padlock oferece quatro camadas independentes: senha do projeto, ocultar e bloquear, compilação em bytecode e negação de acesso à VBE. Empilhe uma ou empilhe todas as quatro. A escolha certa depende de para quem você distribui e com que agressividade você espera que tentem a engenharia reversa.
A camada 3 é a mais difícil de vencer. Você move os procedimentos que seleciona para o editor VBA do XLS Padlock, que os compila em bytecode armazenado no aplicativo. A lógica original sai da planilha: onde a macro costumava ser executada, resta apenas uma chamada ao auxiliar CallXLSPadlockVBA.
Bloqueio visual rápido contra a abertura acidental. Muitas ferramentas gratuitas conseguem removê-lo. Útil apenas diante de usuários honestos.
O gerenciador do XLS Padlock bloqueia o projeto VBA para que ele não possa ser visualizado, acessado ou modificado. Quem o abrir verá uma mensagem Project is unviewable e, como a planilha está criptografada dentro do EXE, as ferramentas de remoção de senha não conseguem alcançar a fonte.
Você move as partes críticas das suas macros para o editor VBA do XLS Padlock e as compila em bytecode. Em seguida, substitui o código original por uma chamada ao auxiliar CallXLSPadlockVBA, de modo que a lógica de origem sai da planilha e só é executada dentro do aplicativo seguro.
O aplicativo compilado pode proibir a abertura do Visual Basic Editor (Alt+F11), de modo que os usuários finais não podem abrir a VBE para inspecionar o projeto.
Use a senha do projeto VBA junto com ocultar e bloquear. A configuração mais rápida, sem refatoração de código. Suficiente se os seus clientes não tentarem ativamente a engenharia reversa.
Mova os seus procedimentos sensíveis para o editor VBA do XLS Padlock e compile-os, deixando os manipuladores de eventos e o código dos UserForm em VBA simples. O melhor equilíbrio entre segurança e ergonomia para o desenvolvedor.
Mova o máximo possível de lógica de negócio para o editor VBA e compile-a: bibliotecas matemáticas, motores de cálculo, exportadores, tudo o que não depende dos eventos da interface do Excel. Conte com adaptar parte do código (objeto Application explícito, apenas objetos suportados), mas você maximiza a superfície protegida.
Para a maioria das planilhas comerciais, a base correta são as camadas 2, 3 e 4: oculte o projeto da interface do Excel, mova o código sensível para o editor VBA do XLS Padlock para compilá-lo, negue o acesso à VBE em tempo de execução. Ignore a camada 1 (a senha do projeto), pois ela não acrescenta nada uma vez que o EXE se recusa de qualquer forma a abrir o editor.
Uma licença, todos os recursos incluídos. Licença perpétua, sem assinatura.