【VBA】IPアドレスを取得する方法|シンプルなコードで即実行OK

VBAを使って、自分のパソコンのIPアドレスを取得したい場面は意外と多くあります。
たとえば、業務用マクロで実行端末を識別したいときや、ログ記録・アクセス制御のためにIP情報を残したいときなどです。

この記事では、WMI(Windows Management Instrumentation)を使って、IPアドレスを取得する方法をシンプルなコードでご紹介します。
コードはそのままコピペで動作しますので、ぜひ実際に試してみてください。

目次

構文

IPアドレスは WMI(Windows Management Instrumentation) を使って取得できます。
具体的には Win32_NetworkAdapterConfiguration クラスを利用します。

コード(コピペOK)

Sub GetIPAddress()
    Dim objWMIService As Object
    Dim colItems As Object
    Dim objItem As Object
    Dim ip As String

    ' WMIサービスに接続(ローカルPCを指定)
    Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")

    ' 有効なネットワークアダプタの情報を取得(IPEnabled = True のみ)
    Set colItems = objWMIService.ExecQuery("Select * from Win32_NetworkAdapterConfiguration Where IPEnabled = True")

    ' 取得したアダプタ情報を1件ずつ処理
    For Each objItem In colItems
        ' IPアドレスが存在する場合、取得(複数ある場合は最初の1つ)
        If Not IsNull(objItem.IPAddress) Then
            ip = objItem.IPAddress(0)
            Exit For ' 最初の有効なIPが取れたらループ終了
        End If
    Next

    ' 結果をメッセージボックスで表示
    MsgBox "IPアドレス: " & ip
End Sub

実行結果

実行すると、以下のようなメッセージボックスが表示されます。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次