Mais uma que pode ajudar a proteger seus projetos em VBA. Com essa verificação, é possível fazer com que a proteção do projeto seja requisito para seu funcionamento.
Bom, vamos ao código:
'É necessário adicionar referência ao 'Microsoft Visual Basic for Applications Extensibilty Library Function VBAProjectIsProtected() As Boolean Dim oVBP As VBIDE.VBProject Dim IsProtected As Boolean 'Verifica se o projeto está bloqueado IsProtected = (Application.VBE.ActiveVBProject.Protection = vbext_pp_locked) VBAProjectIsProtected = IsProtected End Function |
Como é uma Function, é possível testar seu funcionamento em uma célula do Excel, bastando digitar: =VBAProjectIsProtected(). O resultado é o valor VERDADEIRO caso o projeto esteja protegido, FALSO do contrário.
O mais bacana é que o resultado só é verdadeiro se o projeto estiver além de protegido por senha, fechado para visualização. Se o projeto for aberto para visualização, indo ao VBA e informando a senha de acesso, a função passa a retornar FALSO. Com isso, tem-se a total garantia de que o projeto esteja mesmo na condição de protegido, podendo a partir daí, tomar qualquer providência, desde mostrar uma mensagem, fechar o aplicativo ou até mesmo excluir um módulo do VBA.
Referências:
http://www.mrexcel.com/forum/showthread.php?t=18539
Bom proveito!