【VBA】WindowsのバージョンやOS情報を取得する方法|システム情報の確認に便利

業務用マクロを作る際、使用しているWindowsのバージョンやOS情報を取得したいことがあります。
たとえば、OSによって処理を分けたい場合や、実行環境をログとして残したい場合などです。

この記事では、VBAでWindowsのバージョンやOS名、ビルド番号などを取得する方法をご紹介します。
WMIを使ったシンプルなコードで、すぐに試せる内容です。

目次

構文:取得できる主なOS情報(Win32_OperatingSystem)

プロパティ名内容(取得できる情報)
CaptionOSの正式名称(エディション名含む)Microsoft Windows 11 Pro
VersionOSのバージョン番号(内部的なもの)10.0.22631
BuildNumberビルド番号22631
OSArchitecture32ビット/64ビット判定64-bit
InstallDateOSのインストール日時20230410123000.000000+000
LastBootUpTime最後にPCが起動した日時(=稼働時間の参考)20250630154500.000000+000
CSNameコンピューター名DESKTOP-ABC1234

コード(コピペOK)

Sub GetOSInfo()
    Dim objWMIService As Object
    Dim colItems As Object
    Dim objItem As Object
    Dim osInfo As String

    ' WMIサービスに接続
    Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")

    ' OS情報を取得(Win32_OperatingSystem クラス)
    Set colItems = objWMIService.ExecQuery("Select * from Win32_OperatingSystem")

    ' OS情報を取り出し
    For Each objItem In colItems
        osInfo = "OS名: " & objItem.Caption & vbCrLf & _
                 "バージョン: " & objItem.Version & vbCrLf & _
                 "ビルド番号: " & objItem.BuildNumber
        Exit For
    Next

    ' 結果をメッセージで表示
    MsgBox osInfo
End Sub

実行結果

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