📊 VBA (Excel)
Load Processes into Excel via WMI
Queries Win32_Process via GetObject("winmgmts:") and dumps every Processes row straight onto the active worksheet, no PowerShell or external tool required.
ProcessWmiReport.bas
Attribute VB_Name = "ProcessWmiReport"
Option Explicit
Public Sub ProcessWmiReport()
Dim objWMIService As Object
Dim colItems As Object
Dim objItem As Object
Dim ws As Worksheet
Dim propsArr() As String
Dim c As Long, r As Long
Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")
Set colItems = objWMIService.ExecQuery("SELECT Name, ProcessId, WorkingSetSize, ThreadCount FROM Win32_Process")
Set ws = ActiveSheet
ws.Cells.Clear
propsArr = Split("Name, ProcessId, WorkingSetSize, ThreadCount", ", ")
For c = LBound(propsArr) To UBound(propsArr)
ws.Cells(1, c + 1).Value = propsArr(c)
Next c
r = 2
For Each objItem In colItems
For c = LBound(propsArr) To UBound(propsArr)
On Error Resume Next
ws.Cells(r, c + 1).Value = objItem.Properties_(propsArr(c)).Value
On Error GoTo 0
Next c
r = r + 1
Next objItem
ws.Rows(1).Font.Bold = True
ws.Columns.AutoFit
MsgBox (r - 2) & " Processes row(s) loaded from Win32_Process.", vbInformation
End Sub