Logo Hardware.com.br
rssilva_22
rssilva_22 Membro Senior Registrado
193 Mensagens 3 Curtidas

Excel - Macro para impedir que o usuário reexiba uma planilha oculta

#1 Por rssilva_22 27/10/2007 - 00:40
Boa noite, tenho uma planilha que tem uma macro inicial que pede senha para abrir o arquivo.

Dentro desse arquivo eu tenho varias planilha que vão sendo abertas de acordo com os botões que o usuário vai navegando, e isso só fica habilitado se ele ativar as macros ao abrir o arquivo. A arquivo só mostra uma planilha por vez (por exemplo: eu clico no botão plan2, ele oculta a plan1 e abre a pla2 e assim por diante)

Se ele abre o arquivo sem ativas as macros ele consegue ver a primeira planilha, mas a navegação não funciona e os arquivos estão protegidos, no entando ele pode pedir para reexibir as planilhas ocultas.

Gostaria de um codigo de macro para VBA no excel que eu pudesse inserir, assim que a macro que pede senha é acionada, comandos para desabilitar todas as formas que o usuário tem de habilitar as planilhas ocultas, sem no entando, impedi-la definitivamente de ser aberta, pois conforme relatei o usuario utiliza os botões nas planilhas para navegar de uma plan para outra.

Quero fazer isso para progeter melhor os meus arquivos, pois sei que existem varios códigos de macro que quebram a senha que colocamos nas planilhas, mas senhas que estão nas macros ja são bem mais difíceis de quebrar.
Sabem como é, quanto mais complicar para quem for querer quebras as proteçoes do arquivo melhor.


Grato,
Responder
Peskz
Peskz Super Participante Registrado
482 Mensagens 15 Curtidas
#2 Por Peskz
27/10/2007 - 09:21
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
brunces Tô em todas Registrado
986 Mensagens 76 Curtidas
#3 Por brunces
27/10/2007 - 11:36
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. smile.png

O idela seria usar Access, caso a sua necessidade seja banco de dados.

Abraço,

Brunces
- Bruno Magalhães - Eu uso Linux (Meu blog, com dicas, sugestões e soluções de problemas relacionados ao Linux)
- Bruno Magalhães - O Blog
- Minimize o Windows Media Player para a bandeja (tray)
Peskz
Peskz Super Participante Registrado
482 Mensagens 15 Curtidas
#4 Por Peskz
27/10/2007 - 12:03
brunces disse:
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. smile.png

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
rssilva_22 Membro Senior Registrado
193 Mensagens 3 Curtidas
#5 Por rssilva_22
27/10/2007 - 14:32
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?
Rodrigo Sousaanjinho.gif
Acessem: http://www.webboxsite.com.br/Blog. http://www.comprarsite.blogspot.com.br/
Um minuto e um clique a mais na vida de vocês, mas uma visita e algo muito importante para mim...
rssilva_22
rssilva_22 Membro Senior Registrado
193 Mensagens 3 Curtidas
#6 Por rssilva_22
27/10/2007 - 15:23
brunces disse:
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. smile.png

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.
Rodrigo Sousaanjinho.gif
Acessem: http://www.webboxsite.com.br/Blog. http://www.comprarsite.blogspot.com.br/
Um minuto e um clique a mais na vida de vocês, mas uma visita e algo muito importante para mim...
rssilva_22
rssilva_22 Membro Senior Registrado
193 Mensagens 3 Curtidas
#7 Por rssilva_22
29/10/2007 - 13:43
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.
Rodrigo Sousaanjinho.gif
Acessem: http://www.webboxsite.com.br/Blog. http://www.comprarsite.blogspot.com.br/
Um minuto e um clique a mais na vida de vocês, mas uma visita e algo muito importante para mim...
Peskz
Peskz Super Participante Registrado
482 Mensagens 15 Curtidas
#8 Por Peskz
29/10/2007 - 13:46
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
rssilva_22 Membro Senior Registrado
193 Mensagens 3 Curtidas
#9 Por rssilva_22
29/10/2007 - 13:50
Peskz disse:
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
Rodrigo Sousaanjinho.gif
Acessem: http://www.webboxsite.com.br/Blog. http://www.comprarsite.blogspot.com.br/
Um minuto e um clique a mais na vida de vocês, mas uma visita e algo muito importante para mim...
rssilva_22
rssilva_22 Membro Senior Registrado
193 Mensagens 3 Curtidas
#11 Por rssilva_22
29/10/2007 - 14:03
Peskz disse:
Boa rapaz! smile.png
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?
Rodrigo Sousaanjinho.gif
Acessem: http://www.webboxsite.com.br/Blog. http://www.comprarsite.blogspot.com.br/
Um minuto e um clique a mais na vida de vocês, mas uma visita e algo muito importante para mim...
Peskz
Peskz Super Participante Registrado
482 Mensagens 15 Curtidas
#12 Por Peskz
29/10/2007 - 14:47
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
rssilva_22 Membro Senior Registrado
193 Mensagens 3 Curtidas
#13 Por rssilva_22
29/10/2007 - 15:21
Peskz disse:
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.
Rodrigo Sousaanjinho.gif
Acessem: http://www.webboxsite.com.br/Blog. http://www.comprarsite.blogspot.com.br/
Um minuto e um clique a mais na vida de vocês, mas uma visita e algo muito importante para mim...
rssilva_22
rssilva_22 Membro Senior Registrado
193 Mensagens 3 Curtidas
#14 Por rssilva_22
29/10/2007 - 15:47
...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

Rodrigo Sousaanjinho.gif
Acessem: http://www.webboxsite.com.br/Blog. http://www.comprarsite.blogspot.com.br/
Um minuto e um clique a mais na vida de vocês, mas uma visita e algo muito importante para mim...
Responder Tópico
© 1999-2024 Hardware.com.br. Todos os direitos reservados.
Imagem do Modal