Puedes poner el siguiente código en un módulo:
Sub ObtenerAddress()
'Por.Dante Amor
MiAddress = GetMACAddress
Select Case MiAddress
Case "00:11:22:33:44:55", "66:77:88:99:aa:bb"
Case Else: ActiveWorkbook.Close False
End Select
End Sub
'
Function GetMACAddress() As String
'Referencia: http://pdevoir.blogspot.mx/2013/08/excel-vba-function-for-getting-mac.html
Dim objVMI As Object
Dim vAdptr As Variant
Dim objAdptr As Object
Dim adptrCnt As Long
Dim adres As String
adres = ""
Set objVMI = GetObject("winmgmts:\\" & "." & "\root\cimv2")
Set vAdptr = objVMI.ExecQuery("SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled = True")
For Each objAdptr In vAdptr
If Not IsNull(objAdptr.MACAddress) And IsArray(objAdptr.IPAddress) Then
For adptrCnt = 0 To UBound(objAdptr.IPAddress)
If Not objAdptr.IPAddress(adptrCnt) = "0.0.0.0" Then
GetNetworkConnectionMACAddress = objAdptr.MACAddress
Exit For
End If
Next adptrCnt
'MsgBox "Your MAC Address is: " & GetNetworkConnectionMACAddress
adres = GetNetworkConnectionMACAddress
End If
Next
GetMACAddress = adres
End Function
En el evento Open de tu libro, pon lo siguiente:
Private Sub Workbook_Open()
Call ObtenerAddress
End Sub
INstrucciones para poner la macro en los eventos ThisWorkbook
- Abre tu libro de excel
- Para abrir Vba-macros y poder pegar la macro, Presiona Alt + F11
- Del lado izquierdo dice: VBAProject, abajo dale doble click a ThisWorkbook
- En el panel del lado derecho copia la macro
'.[Sal u dos. Dante Amor. No olvides valorar la respuesta.
'.[Avísame cualquier duda