Sub test2()
Dim Str$, Arr, N&, I&, FN$
FN = ThisWorkbook.Path & "\IpInfo.txt" '设定输出临时文件位置
With CreateObject("wscript.shell")
.Run Environ("comspec") & " /c ipconfig /all>""" & FN & """", 0, 1 '利用WSH对象隐藏执行命令行命令并输出到文件中,等待执行完成后才继续执行后续代码
End With
With CreateObject("scripting.filesystemobject").opentextfile(FN) '利用FSO项目打开临时文件读取内容后关闭
Str = .readall
.Close
End With
Kill FN '删除临时文件
Arr = Split(Str, vbNewLine) '将读取到的内容放入数组
N = 1 '初始化行号
For I = LBound(Arr) To UBound(Arr) '循环数组各项
If LCase(Arr(I)) Like "*physical address*:*" Then '如果含有物理地址关键字,则
Cells(N, 1) = Trim(Split(Arr(I), ":")(1)) '提取出物理地址放入当前循环到的单元格中
N = N + 1 '下移一行
ElseIf LCase(Arr(I)) Like "*description*:*" Then '如果含有网卡信息关键字,则
Cells(N, 1) = Trim(Split(Arr(I), ":")(1)) '提取网卡信息放入当前循环到的单元格中
N = N + 1 '下移一行
End If
Next I
End Sub
Dim Str$, Arr, N&, I&, FN$
FN = ThisWorkbook.Path & "\IpInfo.txt" '设定输出临时文件位置
With CreateObject("wscript.shell")
.Run Environ("comspec") & " /c ipconfig /all>""" & FN & """", 0, 1 '利用WSH对象隐藏执行命令行命令并输出到文件中,等待执行完成后才继续执行后续代码
End With
With CreateObject("scripting.filesystemobject").opentextfile(FN) '利用FSO项目打开临时文件读取内容后关闭
Str = .readall
.Close
End With
Kill FN '删除临时文件
Arr = Split(Str, vbNewLine) '将读取到的内容放入数组
N = 1 '初始化行号
For I = LBound(Arr) To UBound(Arr) '循环数组各项
If LCase(Arr(I)) Like "*physical address*:*" Then '如果含有物理地址关键字,则
Cells(N, 1) = Trim(Split(Arr(I), ":")(1)) '提取出物理地址放入当前循环到的单元格中
N = N + 1 '下移一行
ElseIf LCase(Arr(I)) Like "*description*:*" Then '如果含有网卡信息关键字,则
Cells(N, 1) = Trim(Split(Arr(I), ":")(1)) '提取网卡信息放入当前循环到的单元格中
N = N + 1 '下移一行
End If
Next I
End Sub