'============================
'函數名稱: GetNICInfo
'功能描述: 返回由指定分隔符分隔的未被禁用的網卡mac地址或IP地址,具體的返回內容由Index參數確定。
'輸入參數: Index 必需的,要返回的信息(0返回MAC地址,1返回IPV4地址,2返回IPV6地址。
' Delimiter 可選的,存在多個網卡(可能是物理的或虛擬的)時,返回信息的分隔字符
'返回參數: 返回所有被啟用網卡的信息(如果有多個網卡,則由指定分隔符分隔)
' 沒有網卡或網卡全部被禁用時返回空字符串("")
'使用示例: =GetNICInfo(1) '返回示例:192.168.1.100
'相關調用:
'使用注意:
'兼 容 性: 使用
win32_NetworkAdapterConfiguration類實現,XP和Win7操作系統測試通過
'參考資料:
'作 者: 紅塵如煙
'創建日期: 2010-8-7
'============================
Public Function GetNICInfo(ByVal Index As Integer, Optional ByVal Delimiter As String = vbCrLf) As String
On Error GoTo ErrorHandler
Dim objWMIService As Object
Dim objItems As Object
Dim objItem As Object
Dim strTemp As String
Set objWMIService = GetObject("winmgmts:\.rootcimv2")
strTemp = "Select * FROM
win32_NetworkAdapterConfiguration Where IPEnabled=True"
Set objItems = objWMIService.ExecQuery(strTemp)
strTemp = ""
For Each objItem In objItems
Select Case Index
Case 0 'MAC地址
strTemp = objItem.MACAddress
Case 1 'IPV4地址
strTemp = objItem.IPAddress(0)
Case 2 'IPV6地址
strTemp = objItem.IPAddress(1)
End Select
If GetNICInfo <> "" And strTemp <> "" Then GetNICInfo = GetNICInfo & Delimiter
GetNICInfo = GetNICInfo & strTemp
Next
ExitHere:
Set objWMIService = Nothing
Set objItems = Nothing
Set objItem = Nothing
Exit Function
ErrorHandler:
' MsgBox Err.Description, vbCritical, "Error"
Resume ExitHere
End Function
演 示:
源碼示例下載:
【access源碼】一個用于獲取網卡MAC地址或IP地址的通用函數獲取本機內網IP的示例【Access軟件網】






