Notifications
Clear all

Comparar colunas via Macro (VBA)

5 Posts
2 Usuários
0 Reactions
1,030 Visualizações
(@xdinho)
Posts: 11
Active 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: 2749
Famed 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

Marcelo Prudencio
Microsoft Excel Brasil no Facebook

"Começar já é a metade do caminho."
Autor Desconhecido

Simplifica que simples fica.
Nicole Tomazella.

"O Simples é Sempre Melhor Que o Complicado"
Jorge Paulo Lemann.

 
Postado : 30/12/2015 9:56 am
(@xdinho)
Posts: 11
Active 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: 2749
Famed 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.

Marcelo Prudencio
Microsoft Excel Brasil no Facebook

"Começar já é a metade do caminho."
Autor Desconhecido

Simplifica que simples fica.
Nicole Tomazella.

"O Simples é Sempre Melhor Que o Complicado"
Jorge Paulo Lemann.

 
Postado : 30/12/2015 7:46 pm
(@xdinho)
Posts: 11
Active 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