Office

Excelにpingの応答結果を記録する方法

社内SEをやっているとネットワークエラーが発生し、その問題を切り分けるためにpingコマンドによってネットワークにつながっているかの確認を行う。

社内SEはプライベートIPアドレスを利用するため、利用できるIPアドレスに制限がある。企業によって様々だろうがIPアドレスとそれに紐付けたPCの管理などを行っていると思うが、そのIPアドレスを本当に利用しているのかを確認するときでもこの作業は有効だ。

今回の記事ではExcelに予めIPアドレスを記載しておけば、それに応じてping疎通が成功したか失敗したかを記録させる方法を紹介する。

ツイッターやってます。お問い合わせはこちらから。

Ping疎通ってどうやるの?

pingの送信方法はOSによって異なる。pingのあとにホスト名もしくはIPアドレスを入力するのだが、家でテスト的に送信したい場合は「yahoo.co.jp」、「tamocolony.com」などホームページのURLでも大丈夫だ。

Windowsの場合
  1. 「Win」キーと「R」キーを同時に押して”cmd”と入力し、[OK]ボタンを押す。
  2. ping ○○○○(宛先のホスト名、もしくはIPアドレス)を入力する。
  3. 「Enter」キーを押す。
Macの場合
  1. 「⌘(Command)」キーと「スペース」キーを同時に押してSpotlight検索を開き、”ターミナル”と入力してターミナルを開く。
  2. ping ○○○○(宛先のホスト名、もしくはIPアドレス)を入力する。
  3. Enterキーを押す。

Excelからpingコマンドを実行して応答結果を記録する方法

  1. ExcelのA列に今回応答確認したいIPアドレスを記載する。
  2. Excelの「開発」タブより、「Visual Basic」を開く。

    ※「開発」タブが表示されていない方はこちらの記事を先に参照してほしい。
  3. 「ThisWorkbook」をダブルクリックして、下記コードを貼り付けよう。

    Sub ping()
        For i = 1 To Cells(Rows.Count, 1).End(xlUp).Row
            cmd = "cmd.exe /c ping " & Cells(i, 1)
            Set wsh = CreateObject("WScript.Shell")
            If wsh.Run(cmd, vbNormalFocus, True) Then
                Cells(i, 2).Value = "失敗"
            Else
                Cells(i, 2).Value = "成功"
            End If
                Set wsh = Nothing
        Next
    End Sub
  4. Visual Basicの画面を閉じ、同じく開発タブにある「マクロ」を選択する。
  5. 「ThisWorkbook.ping」というマクロがあるので、選択して[実行]ボタンを押すと、ExcelのB列にpingの応答結果が記載される。

まとめ

ここにきてなんだがWindowsにはExPingという素晴らしいソフトがあり、このソフトの応答結果をExcelに抽出する事もできる。

しかし、はじめからExcelにIPアドレスの一覧を貼り付けておくことで加工が楽だったりとメリットも存在するのでぜひ有効活用してほしい。

https://www.xdomain.ne.jp/

※当サイト(tamocolony)では極力最新の情報を掲載するよう努めていますが、掲載内容は最新のものと異なる、もしくは情報自体が誤っている可能性があります。当サイトにて記載している情報について、有用性や正確性、安全性についていかなる保証もするものではありません。
修正の必要や記事に関する質問がある場合は、当サイト問い合わせページよりお知らせいただけると幸いです。