Cara, por questoes de segurança, isso é impossível. Você pode terntar contornar o problema, mas nunca impedir o desabilite.
1) as rotinas que escondem suas planilhas, garanta que estão sendo escondidas com xvSheetVeryHidden ao invés de xlSheetHidden, assim elas ficam invisíveis na janela do Excel que sugere reexibição das planilhas;
2) em código, desabilite a opção de Reexibir/Ocultar planilhas, do botão direito do mouse. O nome deste menu de contexto é Ply. Procure no aqui no forum ou no próprio Google, como fazer isso. (https://www.google.com.br/?gws_rd=cr&ei=syCzUuXfMJPKsASHxYCgAg#q=commandbars+ply)
3) Proteja seu código (no ambiente do VBE) com senha (no VBE, Ferramentas / Propriedades / Proteção)
4) Deixa uma planilha com texto informando para habilitar as macros, e as outras todas escondidas com xlSheetVeryHidden
5) no evento Open, torne visivel o que tem q ficar visivel, e esconda o que nao precisa (inclusive o aviso de macro)
6) no evento BeforeSave,
- a) desligue os eventos (application.enableevents=false)
- b) torne visivel a planilha do aviso de macro e esconda todo o resto
- c) salve o arquivo (thisworkbook.save)
- d) torne visivel o que estava visivel antes, e esconda o aviso
- e) esses passos acima, faça com screenupdating = false
7) Compartilha a pasta de trabalho (quando finalizar seu código). Apesar de você nao ter interesse no compartilhamento propriamente dito, isso fará o código ficar invisível, ou seja é mais uma camada de proteção em cima da senha.
Isso são dicas que podem dificultar o acesso, mas nao impossibilitam. O usuário tem que saber de VBA para imaginar que existe o Alt+F11. Tem que conhecer programas de quebra de senha de VBA, ou saber a senha, ou os nomes das planilhas, para em código na janela imediata, torná-las visíveis. Enfim, o usuário tem q manjar de VBA para quebrar isso. Mas te garanto, é fácil quebrar.
Espero que tenha ajudado, pelo menos um pouco.
Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel
Postado : 19/12/2013 11:44 am