VBATips

IPアドレスからホスト名を取得する【ExcelVBA】

VBAでIPアドレスからホスト名を取得したい場合があります。

IPアドレスからホスト名を取得するサンプルコード

'■IPアドレスからホスト名を取得する
Public Function Get_IPAddressToHOST(IP As String)
    '■コマンドプロンプトで実行し、情報を取得
    CreateObject("WScript.Shell").Run "%ComSpec% /c nslookup " & IP & "|clip", 0, True
    
    '■情報を配列に格納
    Dim arr As Variant
    arr = Split(GetObject("\", "htmlfile").ParentWindow.ClipboardData.GetData("text"), vbCrLf)
    
    '■情報を抜き出し、名前: を含む情報を抜き出し、ホスト名を取得する
    Dim sResult As Variant
    For Each sResult In arr
        If sResult Like "*名前:*" Then
            Get_IPAddressToHOST = Trim(Replace(sResult, "名前:", ""))
            Exit Function
        End If
    Next
End Function


実際の使い方

Public Sub sample()

    Debug.Print Get_IPAddressToHOST("182.22.59.229")    'f1.top.vip.ssk.yahoo.co.jp
End Sub

注意点

  • ローカルIPアドレス取得する場合はこちら
  • グローバルIPアドレス取得する場合はこちら

関連記事

コメント

タイトルとURLをコピーしました