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】マクロ入門 |
コメント
「宛先ホストに到達できません」の場合でも
「成功」と記入されますので修正が必要と思います
ご指摘ありがとうございます.