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



コメント