作者:iamlaosong
单位中客服人员一般都不太懂计算机,为了出现问题时有个初步了解,需要知道是网络问题还是程序问题。其实多数情况下都是网络问题,可是他们连简单的Ping命令都不会,为此,我用VBA做了个工具,测试网络是否通达。
工具使用VBA执行ping命令和API测试IP,并将结果保存到工作表中,程序界面如下:
本工具下载地址:点击打开链接
使用方法:
将需要测试的地址所在行的“状态”列改为y(C列,表示要测试这个IP),然后点击测试按钮即可。
“IP测试”调用API测试,速度快,但只能测试数字IP地址。
“Ping测试”用DOS命令测试,域名和数字IP都可以,但有弹窗,速度也慢一点。
程序如下:
'通过Ping命令检查IP是否通达
Public Sub get_data()
'根据工作表中的查询语句读取数据
Dim oExec As Object, oShell As Object
Dim Ip, Stat As String
Dim i, k, kk, lineno, row1 As Long
'On Error Resume Next
lineno = [A65536].End(xlUp).Row '行数
maxrow = Sheets("查询结果").UsedRange.Rows.Count
If maxrow >= 2 Then
Sheets("查询结果").Range("A2:F" & maxrow).ClearContents
End If
'创建对象
Set oShell = CreateObject("Wscript.shell")
kk = 0
For i = 2 To lineno
Stat = Cells(i, 3)
If UCase(Stat) = "Y" Then
kk = kk + 1
Ip = Cells(i, 2)
result = ""
If Ip = "" Then Exit For
cmdping = "ping " & Ip & " -n 1"
Set oExec = oShell.exec(cmdping)
'result = vbaPing(Ip)
Do Until oExec.stdout.AtE