この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図で見る操作の流れ
イメージ図準備、実行する操作、確認する結果の順で示しています。
準備
Windows版向けです。管理者権限の要求やリモートPCの指定はしません。
操作
ローカルWindowsのWMIからCPUのNameだけを取得します。
結果
PCのCPU名称が表示されます。複数の物理CPUがある場合は複数行になることがあります。
CPUの使用率や性能を測るコードではありません。WMIが組織の管理で制限されていたらそこで中止します。
コードの処理を説明する模式図です。実際の画面や実行結果を撮影したものではありません。
使い方・実行手順を確認する4つの手順で、コードの使い方を確認できます
- 1
Windows版デスクトップExcelの練習用ブックを.xlsmで保存し、Alt+F11→[挿入]→[標準モジュール]へ、この例だけを貼り付けます。
- 2
Windows版向けです。管理者権限の要求やリモートPCの指定はしません。
- 3
PracticeAdvanced8017を実行します。
- 4
PCのCPU名称が表示されます。複数の物理CPUがある場合は複数行になることがあります。