📊 VBA (Excel)

Load Video Controllers into Excel via WMI

Queries Win32_VideoController via GetObject("winmgmts:") and dumps every Video Controllers row straight onto the active worksheet, no PowerShell or external tool required.

By WindowsScripting.com · 1.1 KB
VideoControllerWmiReport.bas
Attribute VB_Name = "VideoControllerWmiReport"
Option Explicit

Public Sub VideoControllerWmiReport()
    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, AdapterRAM, DriverVersion, CurrentRefreshRate FROM Win32_VideoController")

    Set ws = ActiveSheet
    ws.Cells.Clear

    propsArr = Split("Name, AdapterRAM, DriverVersion, CurrentRefreshRate", ", ")
    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) & " Video Controllers row(s) loaded from Win32_VideoController.", vbInformation
End Sub