ExcelのVBA(マクロ)で、pingコマンドの応答結果をExcelに記録する方法についてまとめました。
pingコマンドの応答結果をExcelに記録
Excel/VBAでは、「CreateObject(“WScript.Shell”)」を使って「Windows Script Host (WSH)」を実行することができます。
今回はこれを使って、「Excelファイルに記載されている全てのIPアドレスに対して自動でpingを送信し、成功・失敗の判定を記録するマクロを作成しました。
サンプルコード
サンプルプログラムのソースコードです。
Sub test()
' セルからIPアドレスを順に取得してping送信
For i = 1 To Cells(Rows.Count, 1).End(xlUp).Row
' WSH経由でping送信コマンドを実行
cmd = "cmd.exe /c ping " & Cells(i, 1)
Set wsh = CreateObject("WScript.Shell")
' pingの成功・失敗を右隣りに記述
If wsh.Run(cmd, vbNormalFocus, True) Then
Cells(i, 2).Value = "失敗"
Else
Cells(i, 2).Value = "成功"
End If
' コマンドの初期化
Set wsh = Nothing
Next
End Sub
A列(A1~)に記載されているIPアドレスを取得して順にPINGテストしていきます。
そして、成功・失敗の結果をB列(B1~)に記録していきます。
— | 関連記事 |
---|---|
1 | 【Excel/VBA】マクロ入門 |
コメント
「宛先ホストに到達できません」の場合でも
「成功」と記入されますので修正が必要と思います
ご指摘ありがとうございます.