【VBA】Webサイトの死活監視をする

VBAから
 ・Webサイトの死活監視
ができます!

PR

VBAコード

ここでは例として、
 ・Yahoo(http://www.yahoo.co.jp/)が
 ・正常に稼働しているかどうかを確認(=死活監視)
します。

Option Explicit

Sub sample()
    
    Dim url As String
    Dim httpReq As Object
    
    'URLを指定
    url = "http://www.yahoo.co.jp/"

    Set httpReq = CreateObject("WinHttp.WinHttpRequest.5.1")

    On Error GoTo Err
    
    '死活監視を実行
    With httpReq
        .Open "GET", url, False
        .send
        If .Status = 200 Then
            MsgBox ("HTTPステータスコード:" & .Status & vbCrLf & "稼働しています。")
        Else
            MsgBox ("HTTPステータスコード:" & .Status & vbCrLf & "稼働していません。")
        End If
    End With
    
    '後片付け
    Set httpReq = Nothing
    
    Exit Sub
    
Err:
    MsgBox ("エラーが発生しました。インターネットへ接続できるか等を確認してください。")

    '後片付け
    Set httpReq = Nothing
    
End Sub

WebサイトのURLを指定します(9行目)。

「WinHttpRequestオブジェクト」を取得します(11行目)。
※「WinHttpRequestオブジェクト」の「Open」メソッド及び「send」メソッドにより、「HTTPリクエスト」を送信できます。

死活監視を実行します(16~24行目)。
※HTTPリクエストを送信してその結果(HTTPステータスコード)が「200」の場合、サイトは正常に稼働しています。
※結果(HTTPステータスコード)は「Status」プロパティで確認できます。

PR

実行結果

Webサイトが正常に稼働しているかどうかを確認できました(死活監視ができました)。

実行結果
実行結果
PR

参考①

Webサイトではなく、指定したPCの死活監視もできます。

詳細は以下の記事をご確認ください。

PR

参考②

上記のVBAコードで使用した以下の詳細は、公式サイトをご確認ください。

●「WinHttpRequestオブジェクト」の「Open」メソッド


●「WinHttpRequestオブジェクト」の「send」メソッド


●「WinHttpRequestオブジェクト」の「Status」プロパティ

PR

参考③

HTTPステータスコードの詳細は、以下の公式サイトをご確認ください。