Bom dia amigo Rodrigo,
Você pode fazer como eu faço se assim voce achar benefico para você, restringindo por nome da máquina. Onde só determinada maquina irá funcionar. Nas aplicações que comercializo por contrato eu utilizo essa forma, pois evita que o cliente passe para outras pessoas.
segue um código exemplo :
Voce deve coloca-lo em um módulo e chamá-lo no evento Private Sub Workbook_Open() da sua plan, assim quando alguem tentar abrir em outra maquina, mostrará a mensagem que ele não tem direito de executar a aplicação e fechará o arquivo.
'Colocar no início do módulo esta linha de código por ser uma API do Windows
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
Dim PcUser As String
Application.Visible = False
PcUser = "NOMEDAMAQUINACLIENTE"
CompName = lfNomeComputador
If CompName <> PcUser Then
MsgBox "Este computador não tem direito de executar esta aplicação.", vbCritical, "Atenção!"
Application.DisplayAlerts = False
ThisWorkbook.Application.Quit
End If
Exit Sub
End Sub
Postado : 31/07/2012 5:05 am