Tópicos relacionados a códigos VBA, gravação de macros, etc.
Por Guinardelli23
#65298
Boa noite, estou utilizando um código para ler o "mac aderess" da máquina e permitir ou não o uso da planilha. A questão é que em notebooks com acesso wifi e ethernet, temos 2 registros de MAC e não consigo identificar os 2 ao mesmo tempo.

Se eu cadastrar o MAC do wifi o usuário não consegue abrir a planilha conectado na rede.

Se eu cadastrar o MAC da ethernet o usuário não consegue abrir a planilha e usar o wifi.
Código: Selecionar todos
Private Sub Workbook_Open()

'-----VERIFICAÇÃO DO MAC ADERESS---------------------------------------------------------------------------------------------------------

    Dim sComputer As String
    Dim MeuMAC As String
    Dim oWMIService As Object
    Dim oAdapters As Object
    Dim oAdapter As Object
    Dim sRet As String

    sComputer = "."
    sRet = ""
    Set oWMIService = GetObject("winmgmts:" & "!\\" & sComputer & "\root\cimv2")
    Set oAdapters = oWMIService.ExecQuery("Select * from Win32_NetworkAdapterConfiguration Where IPEnabled = True")
    For Each oAdapter In oAdapters
        If Len(sRet) > 0 Then
            sRet = sRet + "/" + oAdapter.MACAddress
        Else
            sRet = oAdapter.MACAddress
        End If
    Next oAdapter

    GetMACAddr = sRet
Código: Selecionar todos
MeuMAC1 = "D8:BB:C1:04:EC:F3"       'Guilherme PC Projetos01
MeuMAC2 = "8C:A9:82:FD:55:61"      'Guilherme Notebook
Código: Selecionar todos
If MeuMAC1 = GetMACAddr Then
                                    'MsgBox "Acesso autorizado!"
    Else
    If MeuMAC2 = GetMACAddr Then
                                    MsgBox "Acesso autorizado!"
Código: Selecionar todos
Else
       MsgBox "Você não está autorizado a utilizar esta planilha!"
       ActiveWorkbook.Close SaveChanges = False                         'Comando para fechar a planilha sem salvar
           
    End If
    End If

Algum dica de como resolver?
Por osvaldomp
#65302
Código: Selecionar todos
 If Address1 = "AAA" And Address2 = "BBB" Then
  MsgBox "autorizado"
 Else: MsgBox "não autorizado"
 End If
#65316
Obrigado por responder Osvaldo.

Utilizando a fórmula conforme você disse, eu consigo utilizar a planilha com o cabo ethernet e sem wi-fi, ou com o wi-fi e sem o cabo ethernet. A planilha não funciona quando estou conectado no wi-fi e ethernet.

Veja que usando o comando GETMAC, tenho 2 valores:

Imagem

Boa noite, pessoal, alguém consegue me ajud[…]

Contar dias através da data

Boa tarde Segue uma opção Até[…]

Boa tarde!! Eu copiei o mesmo código e os […]

prezados, bom dia eu tenho duas pastas de trabal[…]

bom dia ok, eu vou fazer isso

Oii, boa tarde! Tenho uma planilha com 50 colunas […]

Como limpar o meu código

Nesses casos utilize o formato abaixo. Sub Replac[…]

Boa tarde Veja se como foi feito é o que vc[…]