← コード一覧へ戻る
実務Excel・Windows連携

このPCのCPU名を読み取る

ローカルWindowsのWMIからCPUのNameだけを取得します。

実行前に確認

  • CPUの使用率や性能を測るコードではありません。WMIが組織の管理で制限されていたらそこで中止します。
  • 公式仕様とコードを照合した例です。Excel実機での実行は未検証です。業務ブックではなくコピーで試してください。

1サンプルコード

Option Explicit
Sub PracticeAdvanced8017()
    Dim svc As Object, cpu As Object, report As String
    On Error GoTo Failed
    Set svc = GetObject("winmgmts:\\.\root\cimv2")
    For Each cpu In svc.ExecQuery("SELECT Name FROM Win32_Processor")
        If Not IsNull(cpu.Name) Then report = report & Trim$(CStr(cpu.Name)) & vbCrLf
    Next cpu
    If Len(report) = 0 Then report = "CPU名を取得できませんでした。"
    MsgBox report
    Exit Sub
Failed:
    MsgBox "WMIを利用できません: " & Err.Description
End Sub

図で見る操作の流れ

イメージ図

準備、実行する操作、確認する結果の順で示しています。

  1. 準備

    Windows版向けです。管理者権限の要求やリモートPCの指定はしません。

  2. 操作

    ローカルWindowsのWMIからCPUのNameだけを取得します。

  3. 結果

    PCのCPU名称が表示されます。複数の物理CPUがある場合は複数行になることがあります。

CPUの使用率や性能を測るコードではありません。WMIが組織の管理で制限されていたらそこで中止します。

コードの処理を説明する模式図です。実際の画面や実行結果を撮影したものではありません。

使い方・実行手順を確認する4つの手順で、コードの使い方を確認できます
  1. 1

    Windows版デスクトップExcelの練習用ブックを.xlsmで保存し、Alt+F11→[挿入]→[標準モジュール]へ、この例だけを貼り付けます。

  2. 2

    Windows版向けです。管理者権限の要求やリモートPCの指定はしません。

  3. 3

    PracticeAdvanced8017を実行します。

  4. 4

    PCのCPU名称が表示されます。複数の物理CPUがある場合は複数行になることがあります。

使っている機能の公式ドキュメント(Microsoft Learn)