Há uma falha lógica na sua solicitação... pensa comigo...
Vc quer que o código suprima o aviso de segurança e siga rodando. Se isso fosse possível, muitos códigos maliciosos fariam desastres inimagináveis nas redes.
Esse aviso serve pra isso mesmo, para impedir ou pelo menos avisar o usuário que há macros. Por isso não existe coleção no VBA com o acesso direto a estas opções.
Você pode configurar pra ficarem sempre liberadas, mas se for máquina da rede corporativa, o script de inicialização sempre vai recuperar a segurança, por razões até meio óbvias...
Para a macro alterar o nivel de segurança ela teria que estar rodando, ou seja o usuário já teria que ter feito a opção antes, seja padronizando para nivel baixo, a msg já não apareceria e então sua dúvida não faz sentido algum.
Eu sugiro as alternativas...
- transforme seu código em confiável na rede, com assinatura digital (custa uma nota).
- deixe o nível de segurança baixo, mas vai ter que arcar com as consequências disso.
Eu já sou a favor de preparar meu código para esconder todo o conteúdo do Excel, tornar a pasta de trabalho completamente inacessível, no evento Before_Save. E recuperar a visualização atual ao final.
Assim, toda vez que alguem abrir, sem habilitar a macro, o usuário ve um aviso numa planilha por exemplo e mais nada.
Ele terá que fechar e habilitar. Na abertura, ao habilitar, o Excel roda o programa, habilita os botões etc...
Isso é mais seguro na minha opinião !
FF
Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel
Postado : 31/03/2015 12:23 pm