CPUの使用率を取得

CPUの使用率を取得する。

WMI(Windows Management Instrumentation)を利用してCPUの使用率を取得します。
VBAでWMIから情報を取得するにはSWbemLocatorオブジェクトのConnectServerメソッドを利用してコンピューター上の WMIへ接続することで取得できます。
CPUの使用率は接続したWMIの Win32_Processorクラス から取得します。

'*****************************************************************
' CPU使用率の取得
'*****************************************************************
Sub getCPULoadPercentage()

    'SWbemLocatorオブジェクトを作成してWMIに接続
    Dim oWMI As Object
    Set oWMI = CreateObject("WbemScripting.SWbemLocator").ConnectServer
    
    'オブジェクト取得のクエリを実行
    Dim oQrySet As Object
    Set oQrySet = oWMI.ExecQuery("SELECT * FROM Win32_Processor")
    
    'CPU使用率を取得
    Dim oPrc As Object
    Debug.Print "CPU使用率"
    For Each oPrc In oQrySet
        Debug.Print "(" & oPrc.DeviceID & ")" & oPrc.LoadPercentage & "%"
    Next

End Sub

 ■実行結果