Realize,Inc.

Pingで疎通確認をする

VBAからネットワークの「つながる・つながらない」を確認してみましょう

Ping(ピング)は、相手の機器へ小さなパケットを送り、 応答が返ってくるか確認する基本的なネットワーク診断です。
今回はVBAからPingコマンドを実行し、結果を取得します。

このVBAでできること

Ping実行

指定したIPアドレスやホスト名へPingを送信します。

応答確認

通信できるかどうかを確認できます。

結果表示

Ping結果をメッセージ表示します。

sequenceDiagram

	participant PC as 自分のPC
	participant Target as 接続先

	PC->>Target: Ping送信
	Target-->>PC: 応答

	Note over PC,Target: 応答が返れば疎通OK

VBAコード


Sub PingTest()

    Dim objShell As Object
    Dim strCmd As String
    Dim strResult As String

    Set objShell = CreateObject("WScript.Shell")

    strCmd = "cmd /c ping 8.8.8.8"

    strResult = objShell.Exec(strCmd).StdOut.ReadAll

    MsgBox strResult, vbInformation, "Ping結果"

End Sub

コード解説

① WScript.Shell を作成

Windowsコマンドを実行するためのオブジェクトです。

② Pingコマンドを作成

今回は Google Public DNS の 「8.8.8.8」へPingしています。

③ 実行結果を取得

コマンドの実行結果を文字列として取得しています。

④ メッセージ表示

Ping結果をそのまま表示しています。

実行結果例

8.8.8.8 に ping を送信しています

8.8.8.8 からの応答:
バイト数 = 32
時間 = 15ms
TTL = 117

よくあるトラブル

応答が返ってこない
接続先が停止している、 またはPingを拒否している可能性があります。
実行時エラーになる
Windows Script Host が無効化されている場合があります。
非常に遅い
回線混雑やVPN経由により遅延している可能性があります。

途中で停止したい場合

VBA実行中に処理を止めたい場合は、 キーボードの Ctrl + Break (または Ctrl + Pause) を押してください。

ノートPCでは Fnキー との組み合わせが必要な場合があります。

まとめ

  • Pingは通信確認の基本コマンドです
  • VBAからWindowsコマンドを実行できます
  • ネットワーク障害調査の第一歩として非常に重要です

ネットワーク設計・トラブル対応でお困りではありませんか?

株式会社リアライズがサポートいたします。

  • ネットワーク設計・構築
  • トラブル調査・改善
  • 業務効率化・自動化
お問い合わせはこちら