VBATips

ローカルIPアドレスを取得する【ExcelVBA】

VBAでIPアドレスを取得したい場合があります。
今回はローカルIPアドレスを取得する方法です。
WMI(Windows Management Instrumentation)を使用することで取得可能です。

ローカルIPアドレスを取得するサンプルコード

'■ローカルIPを取得する
Public Function Get_IPAdressLocal() As String
    '■要参照設定 Microsoft WMI Scripting V1.2 Library
    Dim WMI As Object
    Set WMI = CreateObject("WbemScripting.SWbemLocator")
    
    '■クエリ発行
    Dim items As Object
    Set items = WMI.ConnectServer.ExecQuery("SELECT IPAddress FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled = True")
    
    '■ローカルIPアドレス取得
    Dim x As Object
    For Each x In items
        If Not IsNull(x.IPAddress) Then
              Get_IPAdressLocal = x.IPAddress(0)
              Exit For
        End If
    Next
End Function

実際の使い方

Public Sub sample()
    Debug.Print Get_IPAdressLocal  '(例)192.168.1.10
End Sub

注意点

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

関連記事

コメント

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