Notifications
Clear all

Impedir que uma Planilha seja aberta em outro HD

4 Posts
3 Usuários
0 Reactions
1,236 Visualizações
(@lovinho)
Posts: 3
Active Member
Topic starter
 

Boa tarde, pessoal!

Alguém aqui sabe como impedir que uma Planilha seja aberta em outro HD.
Ou seja, quero impedir que alguém copie o meu arquivo Excel VBA, depois de tanto trabalho que eu tive,
e leve para casa ou para terceiros, que não teve trabalho algum e irá pegar tudo prontinho.

Obg.

 
Postado : 08/07/2014 12:06 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

lovinho, boa tarde!

Teste esse código:

Private Declare Function GetComputerName Lib "kernel32" Alias "GetComputerNameA" (ByVal lpBuffer As String, ByRef nSize As Long) As Long

'Retorna o nome do computador
Private Function lfNomeComputador() As String
    Dim stBuff As String * 255, lAPIResult As Long
    Dim lBuffLen As Long
    
    lBuffLen = 255
    lAPIResult = GetComputerName(stBuff, lBuffLen)
    
    If lBuffLen > 0 Then lfNomeComputador = Left(stBuff, lBuffLen)
End Function


Public Sub lsRetornaNomeComputador()
    Dim CompName As String
    
    CompName = lfNomeComputador
    
    MsgBox "O nome o computador é:" & CompName

    If CompName = "Nome do computador sem permissão" Then
       MsgBox "Este computador não tem direito de executar esta aplicação."
       ActiveWorkbook.Close SaveChanges:=False
   End If
End Sub

Att,

 
Postado : 08/07/2014 12:24 pm
(@wagner-morel-vidal-nobre)
Posts: 4063
Famed Member
 

lovinho,

Boa Noite!

Quero apenas prestar algumas informações no tocante à proteção de projetos VBA.

O código do colega Marciel Silva é excelente e, assim como este, tem muitos outros que podem ser implementados ( pegar o número do HD, número da placa mãe, nome do computador, gravar um código criptografado em um arquivo com um nome não sugestivo dentro da pasta Windows e etc, etc, etc.). Todos eles apenas minimizam as chances de alguém se apropriar do seu trabalho.

Todavia, qualquer coisa que se faça em termos de tentativa de segurança de projetos VBA é completamente inócuo e ineficiente (inclusive proteger com senhas o projeto VBA e o arquivo)! Existe um sem números de aplicativos na internet, gratuitos e pagos (e até desenvolvidos em VBA mesmo), destinados a fazer o desbloqueio de senhas. Então, senha não resolve!

Por outro lado, se o usuário costuma "fuçar" muito na internet (o que é muito comum nos jovens de hoje, até mesmo pela curiosidade), ele com certeza já sabe que pode abrir qualquer arquivo da suíte Microsoft Office (Word, Excel, PowerPoint, Outlook, Access) com a suíte da antiga SUN (hoje da Oracle). Ou seja, com o pacote BrOfffice que tem os mesmos aplicativos do Office da Microsoft.

quando você abre um arquivo do Excel, por exemplo, no Calc da BrOffice, simplesmente nenhuma senha é solicitada (nem de arquivo e nem muito menos de projeto VBA). Apesar do BrOffice não trabalhar com VBA (trabalha com VBScript e com Java) ele simplesmente escancara seu código para todo mundo.

Com isso, qualquer código que você tenha utilizado (pega número de HD, da máquina, etc), poderá ser lido livremente, entendido e copiado para qualquer outro local. Aí você poderá dizer: "Mas isso só se o usuário que quer o meu trabalho for um expert em programação!" Bom... aí é outra coisa! Eu não pensaria assim, pois acho que não ninguém bobinho ou inocente nesse ramo!

Basta pensar que nem gigantes do desenvolvimento como a Microsoft, como a IBM, como a Adobe, conseguiram proteger seus softwares (alguns caríssimos por sinal) da pirataria. Existe gente especialista só em quebrar proteções, fazer engenharia reversa de software, hackear, crackear e por aí vai.

 
Postado : 08/07/2014 5:12 pm
(@lovinho)
Posts: 3
Active Member
Topic starter
 

Obrigado Marciel e
Obrigado Wagner.

Agradeço muito a ajuda e dicas de vocês.

 
Postado : 15/11/2014 8:56 am