检索机器 IP 地址(第一个打开的接口(interface))的最不麻烦(模块包含、代码长度等)的方法是什么? 我知道一些使用 MSINET 的解决方案,但我相信我们可以做得更好。 请勿回复
Function HomeIP() as Atring
HomeIP= "127.0.0.1"
End Function
因为这并不那么有趣......或者正确。 该场景是一个带有 document ID feature 的问题。我正在尝试为其建立回复。
最佳答案
这是来自 Technet 的改编示例:
Function GetIPAddress()
Const strComputer As String = "." ' Computer name. Dot means local computer
Dim objWMIService, IPConfigSet, IPConfig, IPAddress, i
Dim strIPAddress As String
' Connect to the WMI service
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
' Get all TCP/IP-enabled network adapters
Set IPConfigSet = objWMIService.ExecQuery _
("Select * from Win32_NetworkAdapterConfiguration Where IPEnabled=TRUE")
' Get all IP addresses associated with these adapters
For Each IPConfig In IPConfigSet
IPAddress = IPConfig.IPAddress
If Not IsNull(IPAddress) Then
strIPAddress = strIPAddress & Join(IPAddress, ", ")
End If
Next
GetIPAddress = strIPAddress
End Function
它要求您在项目引用中具有 Microsoft WMI 脚本库。
关于vba - 如何检索这台计算机的IP地址?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/828496/