IPアドレスからホスト名を取得します。取得には、コマンドプロンプトを起動し、nslookupコマンドを発行。結果をクリップボードにコピーし、そこから名前:を検索します。
' ------------------------------------------------------------
' 説明:IPアドレスからホスト名を取得する
' 引数:1:ホスト名を取得したいIPアドレス
' 戻値:ホスト名
' 補足:-
' ------------------------------------------------------------
Function GetHostname(addr As String)
Dim data As Variant
Dim result As Variant
' コマンドプロンプトを実行しクリップボードに取得する
CreateObject("WScript.Shell").Run "%ComSpec% /c nslookup " & addr & "|clip", 0, True
' 取得した情報を配列に格納する
data = Split(GetObject("\", "htmlfile").ParentWindow.ClipboardData.GetData("text"), vbCrLf)
' 名前: を含む情報をホスト名とする
For Each result In data
If result Like "*名前:*" Then
GetHostname = Trim(Replace(result, "名前:", ""))
Exit Function
End If
Next
End Function
【補足】
アンチウィルスの種類によっては、スクリプト実行時に処理をブロックすることがあります。
Norton360 アンチウィルスの例は、次を参照してください。
スクリプト実行時の確認(アンチウィルス)


コメント