Function FormatNameToMac(val As String) As String
Dim i As Integer
Dim str As String
str = ""
For i = 1 To Len(val)
If CLng("&h" & hex(Asc(Mid(val, i, 1)))) < 127 Then
str = str & NumToStrHex(Asc(Mid(val, i, 1)), 1)
Else
str = str & NumToStrHex(Asc(Mid(val, i, 1)), 2)
End If
Next
FormatNameToMac = ""
For i = 1 To Len(str) Step 4
If Len(Mid(str, i, 4)) = 4 Then
FormatNameToMac = FormatNameToMac & H_To_L(Mid(str, i, 4))
Else
FormatNameToMac = FormatNameToMac & Mid(str, i, 4)
End If
Next
End Function
Function NumToStrHex(ByVal num As Long, ByVal bytLen As Integer) As String
Dim str As String
Dim strReturn As String
Dim i As Integer
Dim iLen As Integer
str = CStr(hex(num))
iLen = bytLen * 2
strReturn = ""
If Len(str) >= iLen Then
strReturn = Right(str, iLen)
Else
For i = Len(str) To iLen - 1
strReturn = strReturn & "0"
Next
strReturn = strReturn & str
End If
NumToStrHex = strReturn
End Function
Function H_To_L(val As String) As String
H_To_L = Right(val, 2) & Left(val, 2)
End Function
Dim i As Integer
Dim str As String
str = ""
For i = 1 To Len(val)
If CLng("&h" & hex(Asc(Mid(val, i, 1)))) < 127 Then
str = str & NumToStrHex(Asc(Mid(val, i, 1)), 1)
Else
str = str & NumToStrHex(Asc(Mid(val, i, 1)), 2)
End If
Next
FormatNameToMac = ""
For i = 1 To Len(str) Step 4
If Len(Mid(str, i, 4)) = 4 Then
FormatNameToMac = FormatNameToMac & H_To_L(Mid(str, i, 4))
Else
FormatNameToMac = FormatNameToMac & Mid(str, i, 4)
End If
Next
End Function
Function NumToStrHex(ByVal num As Long, ByVal bytLen As Integer) As String
Dim str As String
Dim strReturn As String
Dim i As Integer
Dim iLen As Integer
str = CStr(hex(num))
iLen = bytLen * 2
strReturn = ""
If Len(str) >= iLen Then
strReturn = Right(str, iLen)
Else
For i = Len(str) To iLen - 1
strReturn = strReturn & "0"
Next
strReturn = strReturn & str
End If
NumToStrHex = strReturn
End Function
Function H_To_L(val As String) As String
H_To_L = Right(val, 2) & Left(val, 2)
End Function