Peskz
Super Participante
Registrado
482 Mensagens
15 Curtidas
Se o cara entra na planilha com as macros desativadas, a macro que vc criar para impedir a reexibição nao vai estar desativada =/
Eu ja enchi o saco de muita gente aqui no forum pra conseguir algo do tipo, coloniz@dor, flashcooler, brunces e asolivei... acredito que a maneira mais simples e eficiente de se proteger a planilha é com senha de entrada e senha no codigo. Quer mais uma senha? zipa ela e poe senha! hahaha
eu tava animado em fazer projetinho, com user e senha, mas isso acaba dando mto trabalho, o codigo fica mto grande.
sai dessa vida mano
hahha
brunces
Tô em todas
Registrado
986 Mensagens
76 Curtidas
rssilva_22, já fizemos algo parecido aqui (lembra Peskz?). Dê uma lida nesse post inteiro para ver como foram as idéias:
https://www.hardware.com.br/comunidade/prote-macro/715887/2.html#post3024102
Depois, baixe o arquivo e abra os códigos VBA dele.
O macete para que ninguém entre na planilha é fazer com que ela cheque o usuário ativo ao ser ativada. Se o usuário ativo tem permissão para ver tal planilha, ela é exibida; se não, ela nem aparece. E se o cara tentar burlar a navegação, usando CTRL+PgUp ou CTRL+PgDown, mesmo assim a planilha não é exibida. O problema é quando o cara abre o arquivo sem habilitar as macros ou então o ato de salvar o arquivo. Esses foram os maiores problemas que Peskz e eu enfrentamos, mas até que ficou bastante funcional. Talvez você possa aproveitar alguma idéia.
O idela seria usar Access, caso a sua necessidade seja banco de dados.
Abraço,
Brunces
Peskz
Super Participante
Registrado
482 Mensagens
15 Curtidas
rssilva_22, já fizemos algo parecido aqui (lembra Peskz?). Dê uma lida nesse post inteiro para ver como foram as idéias:
https://www.hardware.com.br/comunidade/prote-macro/715887/2.html#post3024102
Depois, baixe o arquivo e abra os códigos VBA dele.
O macete para que ninguém entre na planilha é fazer com que ela cheque o usuário ativo ao ser ativada. Se o usuário ativo tem permissão para ver tal planilha, ela é exibida; se não, ela nem aparece. E se o cara tentar burlar a navegação, usando CTRL+PgUp ou CTRL+PgDown, mesmo assim a planilha não é exibida. O problema é quando o cara abre o arquivo sem habilitar as macros ou então o ato de salvar o arquivo. Esses foram os maiores problemas que Peskz e eu enfrentamos, mas até que ficou bastante funcional. Talvez você possa aproveitar alguma idéia.
O idela seria usar Access, caso a sua necessidade seja banco de dados.
Abraço,
Brunces
Claro que lembro, primeira mao que vc me deu aqui no forum, com um exemplo caprichado !! =)
Vou colocar o seguinte, os primeiros posts do topico eu era beeeemmm noob, acho que o problema se identifica mais com o atual apartir do Post#28 quando eu reabro o topico
rssilva_22
Membro Senior
Registrado
193 Mensagens
3 Curtidas
Seguinte Peskz e brunces, vou tentar fazer o seguinte, e dai vocês me falam se vai ter como a pessoa burlar.
1. Botar uma macro q seja automaticamente iniciada assim que a planilha é aberta.
2. Proteger a planilha na maioria de suas funcões, o cara não vai conseguir clicar em nada, so navegar através dos botões de comando.
3. impedir que ele possa abrir as planilhas ocultas.
4. colocar uma senha para abrir as macros ou gravar as macros.
Eu conheço macros que peguei aqui no próprio forum que desprotege as planilhas, até ai tudo bem, só que tem que entrar na macro para inserir o código. Se a macro pedir senha acredito que o usuário não conseguira quebrar a senha de proteção da planilha.
Estou correto?
rssilva_22
Membro Senior
Registrado
193 Mensagens
3 Curtidas
rssilva_22, já fizemos algo parecido aqui (lembra Peskz?). Dê uma lida nesse post inteiro para ver como foram as idéias:
https://www.hardware.com.br/comunidade/prote-macro/715887/2.html#post3024102
Depois, baixe o arquivo e abra os códigos VBA dele.
O macete para que ninguém entre na planilha é fazer com que ela cheque o usuário ativo ao ser ativada. Se o usuário ativo tem permissão para ver tal planilha, ela é exibida; se não, ela nem aparece. E se o cara tentar burlar a navegação, usando CTRL+PgUp ou CTRL+PgDown, mesmo assim a planilha não é exibida. O problema é quando o cara abre o arquivo sem habilitar as macros ou então o ato de salvar o arquivo. Esses foram os maiores problemas que Peskz e eu enfrentamos, mas até que ficou bastante funcional. Talvez você possa aproveitar alguma idéia.
O idela seria usar Access, caso a sua necessidade seja banco de dados.
Abraço,
Brunces
Brunces, gostei muito do modelo de planilha que vc usou com nivel de acesso, o mais interessante é que o usuário nãio consegue ve ra planilha se não digitar a senha, mal comecei a ler o tópico e ja vou aproveitar esse recurso que vc postou.
A planilha que eu tenho se a pessoa entrar com macro desativada ela consegue ver a planilha e não tem opções de nivel de permissão, assim quanto tenho que mudar algum coisa tenho que desproteger todo o trabalho e depois proteger novamente.
Legal aquele recurso.
rssilva_22
Membro Senior
Registrado
193 Mensagens
3 Curtidas
Acho que consegui fazer com que o usuário não exiba as planilhas ocultas se abrir a planilha com as macros desativadas, me corrigam se eu estiver errado.
A planilha esta com uma macro de abertura, assim que a plan é aberta e a macro ativada é solicitado uma senha para acesso, todo o conteudo esta protegido por senha, e a macro VBA esta com senha tbm. Com isso acho que será muito difícil alguem desproteger a planilha sem as devidas senhas.
Para evitar que o usuário exiba as planilhas ocultas quando abri o arquivo com as macros desativadas ela foi salva com a janela e estrutura protegida, esse modo só é dasativado com a senha ou quando o usuário abre a planilha com macro ativada.
Com isso ele não consegue exibir as planilhas bloqueadas e so ve uma pla em branco.
Da forma como esta existe a possibilidade de exibir as planilhas ocultas?
Outra coisa, se esse modo realmente funcionar preciso de ajuda com um comando no VBA.
Para fazer com que a macro desproteja a planilha do modo de janela e estrutura estou usando o comando:
ActiveWorkbook.Unprotect
Só que ele só funciona se eu não utilizar nenhuma senha para proteger as janelas e estrutura do documento, dai ja não vai ser uma proteção neh!
Como faço para digitar o comando e ele utilizar a senha 123, por exemplo, para desporteger o aquirvo?
Gostaria de saber que código de macro devo utilizar para que o Excel protega automaticamente as janelas e estruturas do arquivo quando o usuário fechar a planilha?
Pois ela é automaticamente desativada quando o usuario entra com a senha correta.
Peskz
Super Participante
Registrado
482 Mensagens
15 Curtidas
Para evitar que o usuário exiba as planilhas ocultas quando abri o arquivo com as macros desativadas ela foi salva com a janela e estrutura protegida,
isto impede o acesso dos menus?
por exemplo, uma coisa que quebra, menu formatar>planilha>reexibir
Como faço para digitar o comando e ele utilizar a senha 123, por exemplo, para desporteger o aquirvo?
ActiveSheet.Protect "1234"
ActiveSheet.Unprotect "1234"
rssilva_22
Membro Senior
Registrado
193 Mensagens
3 Curtidas
isto impede o acesso dos menus?
por exemplo, uma coisa que quebra, menu formatar>planilha>reexibir
ActiveSheet.Protect "1234"
ActiveSheet.Unprotect "1234"
sim, isso quebra. eu testei.
Menu ferramentas / proteger / proteger pasta de trabalho
Peskz
Super Participante
Registrado
482 Mensagens
15 Curtidas
Boa rapaz!
eu nao sabia disso nao, acho que vc esta no caminho certo.
=)
Pra mim, não tem como visualizar nao!
Vou implementar isto na minha quando tiver um tempo.
ActiveWorkbook.Protect "1234"
ActiveWorkbook.Unprotect "1234"
rssilva_22
Membro Senior
Registrado
193 Mensagens
3 Curtidas
Boa rapaz!
eu nao sabia disso nao, acho que vc esta no caminho certo.
=)
Pra mim, não tem como visualizar nao!
Vou implementar isto na minha quando tiver um tempo.
ActiveWorkbook.Protect "1234"
ActiveWorkbook.Unprotect "1234"
A desativação funcionou certinho...
Agora só não sei como fazer para que a proteção seja novamente ativada, de forma automática, quando o usuário fechar o arquivo. você sabe como eu faço isso?
Peskz
Super Participante
Registrado
482 Mensagens
15 Curtidas
Para isso o brunces pensou o seguinte...
Por padrão a planilha ficará protegida, se o usuario sair sem salvar nada, a configuração da planilha continuará protegida, agora, se ele salvar alguma alteração é que é o problema.
por isto, foi inserido um codigo no evento "before_save" ou algo parecido...
onde vc colocará o codigo para proteger a planilha antes de ser salva.
_____________
editando ...
na verdade, acredito que na ultima planilha que ele anexou, ele fez de outra forma:
antes de sair da planilha, num evento do tipo "terminate", antes de fechar a planilha, ela dispara uma macro, que protege e salva.
o problema é que salvar automatico nao eh muito interessante ..
rssilva_22
Membro Senior
Registrado
193 Mensagens
3 Curtidas
Para isso o brunces pensou o seguinte...
Por padrão a planilha ficará protegida, se o usuario sair sem salvar nada, a configuração da planilha continuará protegida, agora, se ele salvar alguma alteração é que é o problema.
por isto, foi inserido um codigo no evento "before_save" ou algo parecido...
onde vc colocará o codigo para proteger a planilha antes de ser salva.
_____________
editando ...
na verdade, acredito que na ultima planilha que ele anexou, ele fez de outra forma:
antes de sair da planilha, num evento do tipo "terminate", antes de fechar a planilha, ela dispara uma macro, que protege e salva.
o problema é que salvar automatico nao eh muito interessante ..
Tentei usar um código parecido com a que uso quando o arquivo é aberto mas não funcionou.
Sub auto_close()
ActiveWorkbook.Protect "v&r1620*", "0", Structure:=True, Windows:=True
End Sub
Na hora da um erro:
"Erro de compilação no módulo oculto: Modulo 1" e a parte onde esta escrito "Sub atuo_close()" fica amarela, e é esse o problema, fazer com que a planilha proteja a estrutura novamente assim que o usuário fechar a planilha.
Praticamente só esta faltando isso para ela ficar redonda.
rssilva_22
Membro Senior
Registrado
193 Mensagens
3 Curtidas
...da planilha por gentileza postar para que eu possa estudar outras formas de bloqueio.
Obrigado pela ajuda e suporte, acho que consegui o que queria.
Segue anexo a planilha caso queira dar uma olhada. (não repare na montagem dos códigos VBA, sou novato em matéria de VBA e saiu fazendo tudo da forma que acho correto )
a senha para abrir o arquivo é: cline123
a senha para abrir a macro no VBA é: CLINE123456
a senha para para proteção e desproteção (se solicitar pq acho que tirei quase todas com exceção da proteção de estrutura) é: v&r1620*
Anexos
Peskz
Super Participante
Registrado
482 Mensagens
15 Curtidas
Po Rodrigo, parabens pela planilha, layout bacana
Quanto a proteção, so nao entendi pq a planilha nao esta protegida, para evitar aquilo que ja comentamos: do nego entrar sem ativar as macros e mandar reexibir as planilhas ...
no mais, acho que ta beleza
novamente parabens !