views:

121

answers:

1

I am attempting to get the current users RAM configuration. I would like to use VBA to look this up and then store it in a table. I need the number of chips along with the amount of RAM on each chip. Is this possible to lookup programmatically using VBA? Do I need to use Windows Script Host?

+6  A: 

You can do this using WMI:

Dim devlist as object
Dim dev as object
Dim totalRAM as long
Dim numChips as long
Set devlist = GetObject("winmgmts:{impersonationLevel=impersonate}").ExecQuery("SELECT * FROM Win32_LogicalMemoryConfiguration")
numChips = 0
For Each dev In devlist
    numChips = numChips + 1
    totalRAM = totalRAM + CLng(dev.TotalPhysicalMemory)
Next
devlist = Nothing
MsgBox "RAM: NumChips = " & numChips & ", Total = " & (totalRAM / 1024) & "MB"
Mitch Wheat