PROTEGER / ESCONDER MACROS NO EXCEL

USUARIO.EXCLUIDOS 30/11/2006 10:01:23
#187120
Pessoal,

Tenho o seguinte problema: Fiz uma aaplicação no Excel usando VBA. Não queria que os usuarios vissem minha aplicação. Já fiz a proteção do codigo com senha (assim eles não tem acesso ao codigo pelo F11). O problema é que no menu ferramentas / Macro vc consegue ver o nome de todas as macros.

Queria saber se existe uma maneira de esconder as macros nesse menu (não vale falar para colocar PRIVATE nas macros (SUB), pois são macros que funcionam em todo o sistema (Public SUB).

Queria saber tambem se tem uma maneira de proteger as macros, visto que é possivel quebrar a senha digitada no VBA.

Valeu a todos,

Abs,
Mem

LUIS.FLAVIO 30/11/2006 10:52:23
#187132
Resposta escolhida
Amigo costumo fazer compartilhamento do arquivo,sendo assim impossível quebrar a senha com certos tipos de programas ou exemplos "ALGUNS".

Abraço.
USUARIO.EXCLUIDOS 30/11/2006 11:20:54
#187140
Luis,

Valeu pela dica!!!!
Infelizmente na minha planilha não funcionou. Isso porque eu tenho algumas caixas de textos / Botões de comando que tenho que alterar. Para isso eu desprotejo a planilha, altero e protego de novo.

Com a senha no compartilhamento não consigo fazer isso. Ela apresenta um erro ao desproteger a planilha para alateração.
USUARIO.EXCLUIDOS 30/11/2006 11:41:16
#187149
coloque o seguinte código na pasta de trabalho usando o evento active (pasta de trabalho)
Sub auto_open()

Dim barras As Variant

For Each barras In Application.CommandBars
barras.Enabled = True

Application.DisplayFullScreen = True ' FAZ A TELA FICAR GRANDE
ActiveWindow.DisplayHeadings = False ' RETIRA OS CABEÇALHOS DE LINHAS E COLUNAS
Application.DisplayFormulaBar = False ' RETIRA A BARRA DE FOMULAS
ActiveWindow.DisplayHorizontalScrollBar = False ' RETIRA A BARRA DE ROLAGEM HORIZONTAL
ActiveWindow.DisplayVerticalScrollBar = False ' RETIRA A BARRA DE ROLAGEM VERTICAL
ActiveWindow.DisplayWorkbookTabs = False
Application.DisplayStatusBar = False ' RETIRA A BARRA DE STATUS

Next
End Sub


Sub Auto_Close()
Dim barras, nTela, Cont
On Error Resume Next

For Each barras In Application.CommandBars
barras.Enabled = True
Next
Application.DisplayFullScreen = False
ActiveWindow.DisplayHeadings = True
Application.DisplayFormulaBar = True
ActiveWindow.DisplayHorizontalScrollBar = True
ActiveWindow.DisplayVerticalScrollBar = True
ActiveWindow.DisplayWorkbookTabs = True
Application.DisplayStatusBar = True
ActiveWorkbook.Save
Application.Quit

End Sub


' agora vá em ferramentas/propriedades de VBAproject/proteção/marque a caixa de verificação e insira a senha que quiser...
exemplo senha 1234
confirma senha 1234
'Aí toda vez que alguém der alt+ f11 vai aparecer o editor mas ele não vai consegir acessar seu projeto....

valeu....se não der certo dá um grito que nós podemos pensr em outra forma.
USUARIO.EXCLUIDOS 30/11/2006 11:53:53
#187159
vai aí um exemplo
LUIS.FLAVIO 30/11/2006 12:47:36
#187173
Amigo tem vários formas de bloquear uma forma é pelo método Onkey segue um pequeno exemplo dó código para estudar e desenvolver:

Application.OnKey "{F2}", "" desabilita a tecla F2

Application.OnKey "{F2}" habilita a tecla F2

Abraço
USUARIO.EXCLUIDOS 30/11/2006 12:51:20
#187175
Tenta mudar as Subs para Function, assim elas não aparecem na janela de macros (eu geralmente fazia assim e colocava senha no código).
USUARIO.EXCLUIDOS 30/11/2006 12:51:44
#187176
Adonias,


Testei seu projeto, mas ele esconde os menus. Isso não impede de alguem (que conheça um pouco de excel) deixe eles visiveis.
Alem disso as macros que existe na minha planilha são facilmente visiveis pelo menu ferramentas / macros.

O bloqueio do codigo eu ja fiz, mas parece que é algo facil de desbloquear (segundo varias mensagens postadas aqui)

A ideia do Luis foi boa, mas no meu caso não funciona.

Se vc tiver alguma outra sugestão, poste aqui.

USUARIO.EXCLUIDOS 30/11/2006 12:53:08
#187177
Tenta mudar as Subs para Function, assim elas não aparecem na janela de macros (eu geralmente fazia assim e colocava senha no código).
LUIS.FLAVIO 30/11/2006 13:29:04
#187190
Amigo faça como o amigo CIR_ROCK falou,faça assim

Function Salvar()

ThisWorkbook.Save

End Function



Para chamar a função para colocar salvar
USUARIO.EXCLUIDOS 30/11/2006 15:15:55
#187232
Amigos,

CIR Rock, vou fazer sua recomendação. Algumas rotinas pude colocar como PRIVATE SUB que não aparecem no menu ferramentas - macros. Somente 2 que não consegui fazer com que ficasse invisivel.

Luis Flavio, vou testar sua recomendação, mas se desabilito o F11 eu poderia depois acessar o editor de macro? Fiquei com essa duvida.

A outra pergunta é dessa maneira meu codigo estara protegido ou é fácil uma pessoa ter acesso ao codigo? Existe uma maneira confiavel de proteção?

Por enquanto, obrigado a todos pela ajuda


Página 1 de 2 [11 registro(s)]
Tópico encerrado , respostas não são mais permitidas