【VBA】OS情報を取得する

VBAを実行しているPCの
 ・OSの名前
 ・OSのバージョン
 ・OSのアーキテクチャ(32bit or 64bit)
を取得できます!

PR

VBAコード

Option Explicit

Sub sample()

    Dim locator As Object
    Dim service As Object
    Dim classSet As Object
    Dim class As Object
    
    'ローカルコンピュータに接続
    Set locator = CreateObject("WbemScripting.SWbemLocator")
    Set service = locator.ConnectServer()
    
    'WQL(WMI Query Language)でクエリを実行
    Set classSet = service.ExecQuery("Select * From Win32_OperatingSystem")
    
    '結果を取得
    For Each class In classSet
        'OSの名前、バージョン、アーキテクチャ(32bit or 64bit)
        MsgBox class.Caption & vbCrLf & _
               class.Version & vbCrLf & _
               class.OSArchitecture
    Next
    
    '後片づけ
    Set locator = Nothing
    Set service = Nothing
    Set classSet = Nothing
    
End Sub

「CreateObject(“WbemScripting.SWbemLocator”)」によって、「SWbemLocatorオブジェクト」を取得します。

「SWbemLocatorオブジェクト」の「ConnectServer」メソッドによって、「SWbemServicesオブジェクト」を取得します。

「SWbemServicesオブジェクト」の「ExecQuery」メソッドによって、クエリを実行しOS情報を取得します。

PR

実行結果

OS情報を取得できました。

実行結果
実行結果
PR

参考

上記のVBAコードで使用した以下の詳細は、公式サイトをご確認ください。

●「SWbemLocatorオブジェクト」の「ConnectServer」メソッド


●「SWbemServicesオブジェクト」の「ExecQuery」メソッド