Notifications
Clear all

Comparar colunas via Macro (VBA)

5 Posts
2 Usuários
0 Reactions
1,015 Visualizações
(@xdinho)
Posts: 0
New Member
Topic starter
 

Olá!

Preciso de um script que ao listar nomes de computadores na rede e este constar, libere o acesso à uma planilha. Já tenho o script que descobre o PC na rede juntamente com nome de usuário e domínio, só falta permitir esse acesso. Quero destacar que não programo em VBA e sim para web, mas achei que sabendo o conceito, conseguiria. Preciso disso urgente! Pois é um trabalho que jáa encontra-se com seu tempo estourado. Desde já agradeço à todos que ajudarem.

Descobrir o PC na Rede:

Sub usuario()

Computador = Environ("Computername")
dominio = Environ("USERDOMAIN")
user = Environ("USERNAME")
MsgBox "Computador: " & Computador
MsgBox "Dominio: " & dominio
MsgBox "Usuario: " & user

End sub

 
Postado : 30/12/2015 9:16 am
(@mprudencio)
Posts: 0
New Member
 

De forma grosseira vc precisa de uma lista com os nomes dos computadores para depois pesquisar nesta lista

De forma grosseira no envento auto open da planilha

Teste é o nome do computador.

If Environ("computername") = "Teste" Then

MsgBox "Computador autorizado"

Else

Application.Quit

End If

 
Postado : 30/12/2015 9:56 am
(@xdinho)
Posts: 0
New Member
Topic starter
 

Sim, mas pensei em algo como:

If lista = Environ("computername") Then

MsgBox "Computador autorizado"

Else

Application.Quit

End If

Aonde lista é o resultado de uma coluna com PCs cadastrados

Obs: Não programo em VBA, mas PHP, JavaScript, Java, HTML5...

 
Postado : 30/12/2015 6:59 pm
(@mprudencio)
Posts: 0
New Member
 

De forma simples isso funciona coloque em Esta Pasta de Trabalho

Private Sub Workbook_Open()

Dim Maq As String
Dim WS As Worksheet
Dim WB As Workbook

'Nome do Arquivo XLSM
Set WB = Workbooks("Teste")
'Nome da Planilha onde esta a Lista de Nomes do PC
Set WS = Worksheets("Lista")
WS.Visible = xlSheetVisible
WS.Select
WS.Range("A2").Select

Inicio:
Maq = ActiveCell


Do While ActiveCell <> ""

If Environ("Username") = Maq Then
MsgBox "Computador Autorizado"
WS.Visible = xlSheetVeryHidden
Exit Sub
Else
ActiveCell.Offset(1, 0).Select
End If
GoTo Inicio
Loop
WS.Visible = xlSheetVeryHidden
WB.Save
WB.Close

End Sub

Altere as informações que estao entre aspas apos os comentarios.

Nome do Arquivo e Nome da Planilha.

 
Postado : 30/12/2015 7:46 pm
(@xdinho)
Posts: 0
New Member
Topic starter
 

Muito obrigado! Que Deus o abençoe e um Feliz Ano Novo. Esse Script faz o que preciso, "varre" as linhas e só para quando encontrar o resultado. Daqui pra frente creio me virar com a lógica e alguns outros comandos.

 
Postado : 31/12/2015 9:57 am