Notifications
Clear all

Abrir pasta de trabalho apenas em PC's registrados

8 Posts
3 Usuários
0 Reactions
1,310 Visualizações
(@fernando23)
Posts: 5
Active Member
Topic starter
 

Boa noite gente,

Estou chegando hoje e trago a vocês um problema que não consegui resolver.

Tenho uma pasta de trabalho e gostaria que ela abrisse apenas em um PC, se tentassem abrir ela em outro ela negasse.

Para isso pensei em criar uma planilha de registros. Ao abrir a planilha rodaria uma macro pra conferir se o PC está registrado. Se não estivesse negaria acesso.

Na verdade se não estivesse registrado ele pediria uma senha e permitiria que o pc novo fosse registrado. Essa segunda etapa é fácil de fazer.

Bom. O que eu preciso então.

Preciso de uma maneira de pegar a bios da placa ou o registro do processador. E trouxesse para a planilha do excel para fazer essa comparação.

Alguém saberia como me ajudar?

Espero ter conseguido me fazer entender.

Um Abraço.

 
Postado : 30/04/2014 8:56 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Tem macro que captura o IP ADRESS...

Serve?

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

 
Postado : 30/04/2014 9:19 pm
(@fernando23)
Posts: 5
Active Member
Topic starter
 

Mais uma que não conheço. Serve como biblioteca. Se puder mandar agradeço.

Eu estou montando uma planilha q precisa ser aberta em uma máquina só, então nem rolaria bloquear por IP. Seria só trocar o IP da outra. Uma dessa no máximo não seria usada por duas máquinas AO MESMO TEMPO.

A ideia é o usuário ficar preso a mim. Eu preciso liberar pra usar em máquina por máquina.

Mas vamos juntos. Acho que chegaremos lá.

Obrigado.

 
Postado : 30/04/2014 9:34 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Do site vbaexpress.com

Option Explicit 
 
Sub IPtest() 
    Dim wsh As Object 
    Dim RegEx As Object, RegM As Object 
    Dim FSO As Object, fil As Object 
    Dim ts As Object, txtAll As String, TempFil As String 
    Set wsh = CreateObject("WScript.Shell") 
    Set FSO = CreateObject("Scripting.FileSystemObject") 
    Set RegEx = CreateObject("vbscript.regexp") 
    TempFil = "C:myip.txt" 
     ' Save ipconfig info to temporary file
    wsh.Run "%comspec% /c ipconfig > " & TempFil, 0, True 
    With RegEx 
        .Pattern = "(d{1,3}.){3}d{1,3}" 
        .Global = False 
    End With 
    Set fil = FSO.GetFile(TempFil) 
     ' Access temporary file
    Set ts = fil.OpenAsTextStream(1) 
    txtAll = ts.ReadAll 
    Set RegM = RegEx.Execute(txtAll) 
     ' Return IP address to Activesheet cell A1 by parsing text
    ActiveSheet.Range("A1").Value = RegM(0) 
    ActiveSheet.Range("A1").EntireColumn.AutoFit 
    ts.Close 
     ' Remove temp file
    Kill TempFil 
     
    Set ts = Nothing 
    Set wsh = Nothing 
    Set fil = Nothing 
    Set FSO = Nothing 
    Set RegM = Nothing 
    Set RegEx = Nothing 
End Sub

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

 
Postado : 30/04/2014 9:55 pm
(@fernando23)
Posts: 5
Active Member
Topic starter
 

Abriu um baita horizonte aqui.

TempFil = "C:myip.txt"
' Save ipconfig info to temporary file
wsh.Run "%comspec% /c ipconfig > " & TempFil, 0, True

Essas linhas rodam o comando ipconfig e jogam pra dentro do arquivo myip.txt.

rodar comando no DOS e importar pro Excel vai ajudar muito. Agora é só descobrir um comando no DOS que me dê o ID da placa ou do processador que eu consigo chegar lá. Continuar pesquisando.

Compartilhando chegamos lá.

Obrigado.

PS: No linux seria bem mais fácil achar o comando. sr.

 
Postado : 30/04/2014 10:15 pm
(@fernando23)
Posts: 5
Active Member
Topic starter
 

Bom. Graças a sua luz Mandrix cheguei lá. Pra ser sincero acho que ninguém nunca tinha feito algo assim. Caçei em foruns gringos e não achei nada tb. Mas vamos ao trabalho.

1)Não entendi como o camarada do script de IP transformou

Isso:

Configuração de IP do Windows

Adaptador Ethernet Conexão local:

Sufixo DNS específico de conexão . :

Endereço IP . . . . . . . . . . . . : 10.10.20.50

Máscara de sub-rede . . . . . . . . : 255.255.255.0

Gateway padrão. . . . . . . . . . . : 10.10.20.254

Nisso
10.10.20.50

Que seria meu IP.

2) Utilizei o comando systeminfo no dos e um script pra importar o arquivo de texto pro excel, tudo na tabela chamada RegTemp. Depois Isolei a ID na célula b1 da tabela registros. Esta tabela possui todos os computadores registrados na coluna A.

3) Compararei cada linha com dado da coluna A com o registro da célula B1. Se existisse esse registro o computador liberaria acesso imediato.

4) Porem... Se não existisse ele perguntaria se eu desejava registrar o computador. Se eu não quisesse ele sairia da pasta de trabalho.

5) Se eu quisesse ele pediria a senha do administrador. Após colocar a senha um novo Se. Se a senha estivesse incorreta ele sairia da pasta de trabalho. Se a senha estiver correta ele registra na coluna A da tabela Registros, libera acesso instantaneamente e por todas as próximas vezes que for acessada daquele computador.

A senha de administrador é: 123

Bom. O modelo vai ser anexado. Espero que sirva para vocês. Alguma dúvida só entrar em contato. Se entenderam como o cara fez pra isolar o IP me expliquem, talvez eu consiga reduzir minha macro.

Abraços e obrigado Mandrix.

 
Postado : 01/05/2014 1:15 am
Wagner Morel
(@wagner-morel-vidal-nobre)
Posts: 0
Illustrious Member
 

fernando23,

Bom Dia!

Peço, por gentileza, das próximas vezes que anexar arquivos aqui no fórum, que faça antes a compactação com ZIP, por menores que sejam os mesmos. São as regras do fórum.

Tentando contribuir um pouco com a questão que você colocou, segue um pequeno exemplo de função que pega o número do HD da máquina. Isso talvez te ajude também a controlar aonde as macros devem rodar.

Desenvolvo pequenas soluções em VBA Excel a valores que variam entre R$ 50,00 a R$ 200,00. Se te interessar, entre no meu instagran (vba_excel_desenvolvimento)

Atenciosamente
Wagner Morel

 
Postado : 01/05/2014 7:06 am
(@fernando23)
Posts: 5
Active Member
Topic starter
 

Opa,

Certo Wagner. Me desculpe, cheguei aqui ontem a noite com essa dúvida e não li os tópicos do fórum.

Que bom que a luz veio. Acredito que tenha sido a única falha pela experiência em fóruns anteriores, mas qualquer coisa estou a disposição.

Quanto a planilha que enviou. Obrigado, entendi o sentido dela. vai ter boa utilidade pra um outro pensamento que tenho.

Espero que tenham entendido a minha.

Um abraço.

 
Postado : 01/05/2014 9:28 am