【VBA研究】用Ping命令测试IP地址是否通达

本文介绍了作者使用VBA创建的一个工具,该工具帮助不懂计算机的客服人员判断网络问题。通过执行Ping命令和API调用来测试IP地址的可达性,并将结果记录在工作表中。工具提供了两种测试方式:快速的API测试(仅适用于数字IP)和弹窗较慢的Ping命令测试(支持域名和数字IP)。用户只需将待测IP的状态列标记为'y',点击测试按钮即可进行测试。
摘要由CSDN通过智能技术生成

作者: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
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值