Notifications
Clear all

Travar Tecla Shift

22 Posts
1 Usuários
0 Reactions
5,441 Visualizações
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Bom dia a todos do Fórum

Minha dúvida é a seguinte: meus conhecimentos em VBA são básicos, mas como sou um curioso, e como no Fórum existem muitos exemplos de como implementar determinada ação num projeto e, principalmente por termos muitas pessoas gabaritadas no assunto, bem como solícitas, a gente vai incrementando nossos projetos aos poucos. Baseado em exemplos, e com a ajuda do Josiel Melo, adaptei a questão do login em minha planilha com o controle de permissões para usuários. Porém, para "burlar" o login, basta abrir a planilha mantendo-a pressionada a tecla shift.

Nesse código vc bloqueia e desbloqueia várias teclas, mas e a SHIFT? O que acrescentaria no código para fazer isso? Ou seria outro código?

Function mensagem()

MsgBox "Teclas bloqueadas.", vbOKOnly + vbExclamation, "Falta Permissão!"

Application.EnableCancelKey = xlDisabled

End Function

Sub proibirtec()

Application.OnKey "^{BREAK}", "mensagem"

Application.OnKey "^o", "mensagem"

Application.OnKey "^a", "mensagem"

Application.OnKey "^c", "mensagem"

Application.OnKey "^v", "mensagem"

Application.OnKey "^x", "mensagem"

Application.OnKey "^r", "mensagem"

Application.OnKey "^y", "mensagem"

Application.OnKey "^k", "mensagem"

Application.OnKey "^1", "mensagem"

Application.OnKey "{F1}", "mensagem"

Application.OnKey "{F7}", "mensagem"

Application.OnKey "^{F1}", "mensagem"

Application.OnKey "{F11}", "mensagem"

Application.OnKey "%{F11}", "mensagem"

Application.OnKey "%{F8}", "mensagem"

Application.OnKey "%l", "mensagem"

Application.OnKey "%u", "mensagem"

Application.OnKey "+", "mensagem"
End Sub

Sub permitirtec()

Application.OnKey "^{BREAK}"

Application.OnKey "^o"

Application.OnKey "^a"

Application.OnKey "^c"

Application.OnKey "^v"

Application.OnKey "^x"

Application.OnKey "^r"

Application.OnKey "^y"

Application.OnKey "^k"

Application.OnKey "^1"

Application.OnKey "{F1}"

Application.OnKey "{F7}"

Application.OnKey "^{F1}"

Application.OnKey "{F11}"

Application.OnKey "%{F11}"

Application.OnKey "%{F8}"

Application.OnKey "%l"

Application.OnKey "%u"
Application.OnKey "+"

End Sub

Se bloquear a tecla Shift não há como pular o sistema de login para acesso da planilha.

Desde já agradeço a atenção dispensada.

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 10/04/2012 7:47 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Boa noite!!

Temos em nossa base, algo exemplar para te ajudar.

Caso preferir, pode chamar essa function, na inicialização do form.

"call mensagem"

Veja esse exemplo.
usuário:ale Senha:123
http://www.sendspace.com/file/4mhac5

Att

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 10/04/2012 5:40 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Prezado Alexandre, boa noite!

O Josiel Melo aqui do Fórum vem dando grande suporte em VBA, pois como relatei, tenho pouco conhecimento em programação. Sou um Administrador curioso com programação. A partir de algumas orientações dele, de exemplos que busquei em diversos fóruns e tudo mais, adaptei a questão do login e senha de usuário com permissões. Porém, a partir de todos os exemplos que encontrei, inclusive os daqui do Fórum, entre outros, percebi algumas questões importantes:

1 - Dá para passar pela tela de login, simplesmente abrindo a planilha mantendo a tecla Shift pressionada, queria impedir isso e postei na msg inicial um código de bloqueio de teclas, e gostaria de saber qual seria a sintaxe da tecla Shift. A princípio pensei que seria o sinal de "+", porém repeti a sintaxe usando o "+" da forma como estão os outros botões, porém não deu certo. O que há de errado?

2- Abrindo a planilha pelo openoffice aparece todo o código VBA, mas por exemplo, o aplicativo do Ivair Ferrai, ótimo por sinal, gostaria até de poder fazer algo parecido em relação ao estilo de menu personalizado, apesar de mostrar as planilhas, isso seria o de menos pelo openoffice, não mostra o VBA, ele deve ter feito alguma engenharia para isso. O link do arquivo do Sistema de Orçamento do Ivair: http://excelmax.blogspot.com/p/solucoes ... c-vba.html. Abrindo a plan, se é que já não a conhece, inclusive foi base de referência do Josiel, não mostra o VBA, eu queria assim.

Tenho uma planilha simples, que não sei por qual razão tb n mostra as macors e forms, mas na que estou implementando não consegui tal feito.

Espero obter ajuda quanto a isso, inclusive pq desta forma nossos projetos ficariam com os esforços de todos melhor protegidos.

Tomo a liberdade de postar a plan aqui, fazendo questão de referenciar o Josiel em especial, mas a todos tb que de alguma maneira, postaram exemplos por aki que deram subsídio para incorporações de módulos, forms e adptações conforme necessidade. Se alguém q tenha postado algo ver a msg, sinta(m)-se creditados, eu não conseguiria sem ajuda.

Planilha Gest Financ 1.0 - Login/Senha do ADM: pedro/12345 - Usuários Comuns: TESTE1;TESTE2...;TESTE5 - senha: 123 para todos os TESTE's.
Plan Controle de Inadimplentes v2 COM ID DO HD - senha: pedro123456

A plan de inadimplentes é a que de alguma forma abre no openoffice sem contudo aparecer os e oscódigos VBA, e é dessa forma q pretendo implementar a de Gest Financ, mas mantendo a seq de forms q tem na d gest, só alterando mesmo algum código para q ao abrir a mesma pelo openoffice não apareça nada, no máximo as planilhas, e ainda implementar a questão do bloqueio da tecla SHIFT.

Sei que aki é o local certo, pois temos pessoas gabaritadas no assunto e sempre solícitas em ajudar.

Bom...espero um retorno seu e do pessoal aki p gente abrir a discussão em torno do assunto, buscando a interação, o conhecimento, o compartilhamento de idéias e projetos, apesar d q acho pouco provável eu contribuir ao menos agora na mesma medida, mas enfim, criarmos estruturas cada vez mais profissionais e segruas de projetos.

Desde já agradeço a atenção dispensada pelos participantes do Fórum e deste tópico.

Até breve!

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 10/04/2012 7:07 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Pedro, pelo que entendi, ao utilizarmos rotina para bloquear teclas, a mesma só terá efeito se rotina for executada, e a condição de se utilizar a tecla Shift pressionada ao clicarmos em um arquivo excel que contem macros, é justamente para que a macro que estiver no evento WorkBook Open não seja executada e consequentemente ao arquivo será aberto com as macros desativadas, então até onde eu sei não é possivel fazer da forma que quer.
Fonte:
Se quiser que o Excel seja iniciado sem executar uma macro Abrir_auto, mantenha pressionada a tecla SHIFT enquanto inicia o Excel.
http://office.microsoft.com/pt-br/excel ... 14113.aspx

De qualquer forma de uma olhada no site abaixo onde temops as definições de teclas inckusi a do Shift:
OnKey Method
http://msdn.microsoft.com/en-us/library ... 11%29.aspx

Quanto a questão do arquivo, o mesmo protegeu o Projeto do VBA, para isto você deve na teela do VBA clicar em cima de VBAProject na janela propriedades e selecionar Propriedades do projeto.... e depois na aba Proteção selecionar para bloquear e definir uma senha, assim só poderão ver as rotinas quem tiver a Senha.
Em contra partida, acho que isto já foi descutido aqui no forum tambem, é praticamente impossivel se proteger um Arquivo do excel com margem de 100% de segurança, alem de vários programas que quebram esta segurança, temos a questão do BROffice que abre qq arquivo, enclusive este do Ivair, possibilitando copiar ou até salvar convertendo para arquvio excel sem as proteções, inclusive do Excel 2007, de uma olhada na materia abaixo:

Planilha Excel 2007 protegida por senha
http://cafe-ti.blog.br/746~planilha-exc ... senha.html

[]s

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 10/04/2012 9:43 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Mauro, bom dia!

Agradeço sua participação no tópico que abri, assim como a do Alexandre, e a todos que participarem. Seria fundamental o bloqueio da tecla Shift, uma vez que assim só acessaria a plan quem de fato tivesse seu usuário e senha cadastrado. Na plan de Gestão Financeira se o Administrador logar, e clicar para consulta ou algo do tipo na plan de login, de acessos e posteriormente um usuário comum logar, ele verá brevemente, antes de abrir o form que carrega as informações de login, as informações da plan , queria evitar isso.

Sobre o projeto do Ivair, fiz o teste de abrir com o Openoffice, e lá ficou oculto os códigos VBA, os forms, só abriu mesmo as planilhas. Fiz esse teste pela capacidade do Ivair em produzir projetos bem estruturados, então eu gostaria de saber se na forma de construção do mesmo ele havia obtido sucesso no quesito segurança. É desta forma que pretendo implantar o meu. Agora vc falou do Broffice, e eu n testei com ele. Fiquei curisoso, vou baixar e testar. Minha intenção não é - e nunca será - me apropriar dos conhecimentos de outras pessoas e me valer como se fosse meu, jamais faria isso, tanto que referenciei os créditos do que está feito em meu projeto à todos os exemplos bases, as idéias das pessoas do fórum e assim será até o fim. Meu mesmo, serão as planilhas financeiras, vba entendo pouco, sou mais curioso do que entendido até então. Mas se o BRoffice abrir desprotegido, vou entrar em contato com Ivair comunicando p/ poder estudar o código e tentar implementar algo em minha planilha.

Mas em resumo, gostaria de implementar, seja pela sintaxe do Onekey ou de outra que exista, a condição de travamento da tecla Shift e a impossibilidade - se isto for possível, de n se ver o projeto pelo Openoffice ou BRoffice - que ainda vou testar.

Agora, me dirigindo a vc Mauro e ao Alexandre, que já se prontificaram por aki, gostaria nesta plan de Gestão Financeira de corrigir os seguintes aspectos, além dos que já gritei:

1- Tornar obrigatório no form de cadastramento usuário, o preenchimento do campo "nível de usuário", ou seja, que só seja possível criar um usuário se preencher o campo, pois do contrário, o usuário criado torna-se, mesmo estando como usuário comum, um administrador do sistema.
2 - Tava pensando em modificar a tela do administrador, deixando oculta a plan de login, pois achei desnecessário, já que o proximo usuário que logar pode ver rapidamente alguma coisa que n deva. Se o administrador pode cadastrar usuário então lá mesmo ele muda senha e login. Acho suficiente deixar oculta essa plan e visível a dos usuários que logaram.
3 - Modificar o código do form login, criando duas categorias de administrador: o que teria acesso total, seria na verdade o desenvolvedor do sistema, eu, hehe; e, o administrador que teria acesso diferenciado do usuario comum, mas que não acessaria a plan de login, só criaria usuários comuns, para criar outro administrador teria que solicitar a mim p eu fazer isso. Acho que dá p fazer proveito da sintaxe q tá onde se define o q cada um pode fazer, mas eu gostaria que vcs implentassem p mim, pois n consegui.
4 - Criar no sistema, como no caso do Ivair, uma tela de suporte que vai linkar quem tiver a concessçao da plan ao desenvolvedor pelo msn, tipo um chat, implementar isso no sistema, para suporte online, ou pelo menos, que envie um e-mail com assunto e corpo de e-mail, simulando uma conta de e-mail, como fez o Ivair.
5 - Outra mudança importante, e acho que até demasiadamente complexa, seria a de a plan trabalhar em rede, suportando acesso e alterações múltiplas. Isso é meio viajado ou possível? Alguém agarra esse desafio e me ajuda? Queria que fosse posível em rede de se trabalhar nela com mais de uma usuário, cada um no seu módulo de acesso e que fosse possível alterar e salvar simultamenteamente, parece que isso seria possível criando front end, alguém poderia implementar isso p mim?

Sei que ainda vão surgir outras necessidades, mas por hora o desafio é grande, gostaria de suporte de todos. Qdo o projeto tiver finalizado, teremos absorvido grande aprendizado, e isso é muito importante, inclusive n vejo problemas em disponibilizar na biblioteca a estrutura do projeto com todos estes suportes.

Mais uma vez agradeço a todos pela solicitude!

Aguardo retorno.

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 11/04/2012 7:23 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Pedro, o que pretende realmente é sugetivel, mas bem complexo, e não é tão simples, teriamos de construir um aplicativo inteiro alem de ter de trabalhar e lidar com as incopatibilidades quando do uso em versões diferentes, utilização de APIs e outros recursos e o determinante, tempo disponivel:

Quanto ao BROffice, se leu o link que postei deve ter visto que a mesma foi postada no ano de "2008" com a versão do BROffice 3.0, ou seja a 4 anos atraz, acredito que todo programador em excel deve saber desta limitação dos pacotes Office, e com certeza a dica funciona, pois cheguei a testar com os arquivos que mencionou que não foi mostrado o projeto do VBA, dizem que algumas coisas foram melhoradas a partir das versões superiores ao 2007, mas não posso me afirmar evido não ter estas versões para testar.

De uma olhada nos tópicos abaixo, são algumas discuções sobre o assunto e algumas possiveis implementações para se proteger um projeto :
Licença de Uso Mensal para Planilhas em VBA
http://www.tomasvasquez.com.br/forum/vi ... jeto#p6725

Travar planilha para uso exclusivo
http://www.tomasvasquez.com.br/forum/vi ... jeto#p3079

Alterar Central de Confiabilidade
http://www.tomasvasquez.com.br/forum/vi ... o&start=10

Apagar codigo se senha for quebrada
http://www.tomasvasquez.com.br/forum/vi ... 9&start=10

Segurança – Quebrando senhas de projetos VBA do Microsoft Office
http://www.tomasvasquez.com.br/blog/mic ... oft-office

VBA – Aumente a segurança de seus projetos VBA
http://www.tomasvasquez.com.br/blog/mic ... ojetos-vba

[]s

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 11/04/2012 7:32 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Mauro, obrigado por se manter ativo no tópico.

Alguns comentários:

- Na plan de Gest Financ já tem um código de validade de planilha, em que a cada 30 dias pede para renovar, ela fica gerando códigos diferentes para inserir e renovar a licença de uso da plan.
- Qto a quebrar o VBa já tinah visto esse cód do Felipe Dasi mas n consegui nesta plan, pois já tem na pasta de trab eventos de workbook e qdo tento inserir as linhas la da erro. Vc poderia implementar esse cód na minah plan?
- Eu tenho outro código de validade de plan q qdo chega a data ela exclui a plan. Eu até gostaria de substituir este cód pelo q tá plan pois caso a pessoa n renove o cód deleta a plan.
- Gostaria de travar o uso da tecla Shift na plan, n consegui com o onekey "+" q é do shift, me ajuda?
- E gostaria q vc tb implementasse a questão de ser obrigado preencher o campo nivel de usuário no form de cadastr d usuario pq se um usuário for cadastrado sem este preenchimento apesar d constar como user comum é um admin. E eu tb queria q fosse criado outro tipo de admin que é o desenvolvedor da plan q tem acesso total e restringir o uso do admin atual p algumas planilhas, pq ai teria o usuario comum, o admin q poderia cadastrar usuarios comuns e ter um acesso diferenciado porém n total, pq no q diz respeito a validade da plan por exemplo, ela só expira p os usuários comuns, p o admin n, se criar o desenvolvedor da plan apenas p ele n vai expirar q é p poder liberar novo prazo de acesso, gostaria disso , pq ai o admin q vi ter a plan la p gerenciar qdo chegar o vencimento a plan vai avisá-lo disso do jeito q esta até entaum q so tem um adm com acesso total ela n expira p o admin, entaum qri incrementar o usuário total q seria o desenvolvedor, apenas este tem acesso total e p ele a plan n expira.

O q venho solicit pode ainda ser um pouco trab mas é bem menos do q antes, acho q isso vcs conseguem implementar e postar aki.

Falow Mauro e demais...

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 11/04/2012 8:06 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Sim...e na outra plan q postei tem o cod do bloqueio pelo hd q ta comentado pq se n vcs n abririam a plan ahe p ver pq ela n mostra os forms e os codig vba no openoffice. Desta forma eu pretendia fazer com esse proj novo da plan de gest financ.

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 11/04/2012 8:19 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Bom dia!!

Pedro, eu gostaria que testasse o arquivo que mandeu para você, o link está n 1º resposta do seu post.

Veja se consegue burla ele pela tecla Shift, depois me retorne.

Att

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 13/04/2012 6:01 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Bom dia Alexandre!

Eu já havia baixado teu arq e testado, e se vc segurar a tecla shift ao abrir a plan ela pula a tela d login e abre a plan direto. Por isso lancei o desafio na última resposta q enviei. Peço a todos q entrarem neste tópico ajuda com as modificações q pretendo fazer. Sei que as idéias são complexas, mas na msg anterior a esta coloquei algumas modificações um tanto qto menos complexa, peço ajuda nesse sentido. Peço que releia o q preciso e me ajude, pois este exemplo n funcionou, além das outras modificações q pretendo tb.

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 13/04/2012 8:45 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Boa noite!!

Bom com toda sinceridade, foi justamente pelo fato da tecla Shift, que este meu arquivo tem uma Userform.

Tenho convicção de se meu projeto estiver bloqueado, ou mesmo sem bloqueio não terá acesso as planilhas.

Ou minha tecla Shift, não funciona, pois eu não consigo acessar as planilhas.

Veja com atenção e cuidado!!

Att

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 13/04/2012 8:34 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Alexandre, boa tarde!

Não sei o que está a acontecer, mas o exemplo q vc postou n tem tido o efeito pretendido de bloq a tecla Shift. Inclusive to mandando o exemplo com o VBA proteg c/ a senha 123, p vc constatar q se vc abrir a plan segurando a tecla shift, vai pular a tela d login e mostrar a pasta d trab com todas as plans.
Não sei se pode ter alguma relação, mas uso o Excel 2010.

E qto às outras modificações q sugeri, vc teria como me ajudar?

Bom...gostaria de aproveitar a oportunidade p deixar esclarecido qto aos testes q fiz e as msgs q postei q longe d mim criticar algo d ninguém, nem fiz isso nem faria, apenas não consegui o efeito desejado, e postei msg dizendo o q ocorreu. E, independentemente dos resultados q obtiver com o projeto, só d vc estarem por aki buscando a ajuda mútua, e no meu caso, nem seria tão mútua assim pois sei q meus conhecimentos em VBA são básicos, já justifica o intento do fórum e sou grato pelos retornos obtidos.

Falow irmão!

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 14/04/2012 10:54 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Mil desculpas Alexandre, pois falei, falei, e n anexei o arq. Entaum segue...

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 14/04/2012 10:56 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Bom dia!!

Eu que lhe peço desculpas caso você tenha entendido dessa forma, não pensei que você estava criticando!

Se me der um tempo vou tentar entender seu caso e ver se consigo te ajudar.

Tenha certeza também que meus conhecimentos em VBA, deve ser menor que o seu, pois eu só um mero imitador, e na verdade não sei é nada de VBA. :lol:

Aguarde que vou ver se consigo algo mas, não prometo solução até porque não conheço quase nada de VBA.

Att

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 14/04/2012 3:22 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Alexandre, boa noite!

Bom...eu só resolvi expor algo sobre o retorno q vc me deu, pensando q vc havia entendido q eu n havia feito os devidos testes com o arq q vc passou, mas já o tinha feito. Mas o lado bom disso é q a gente vai se compreendendo. Qto ao tempo q vc pediu para ver as modificações q sugeri no projeto, quem sou p exigir alguma coisa, especialmente determinando tempo. Aqui no fórum a gente vai trocando informações e resolvendo os embaralhos q nós mesmos criamos qdo desejamos um projeto grandioso.

Vamos mantendo contato e vendo como esse projeto irá se desenvolver. Dá uma lida nas msgs anteriores p vc ver o q pode fazer em relação às implementações q pretendo realziar na plan de gest financeira.

Falow!

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 14/04/2012 5:09 pm
Página 1 / 2