iT邦幫忙

1

利用VBA每秒紀錄CPU及RAM使用率的問題

各位大大好... 如提所示 目前卡關進度如下 :
Public Sub CPU_Usage()
Range("A2") = Format(Now(), "yyyy/mm/dd hh:mm:ss")
Dim objWMI As Object
Dim strCls As String, strCPU As String
Set objWMI = GetObject("winmgmts:")
strCls = "Win32_Processor" ' WMI 類別
strCPU = "CPU0" ' 當有多顆 CPU 時 , 可調整為 CPU1 , CPU2 .. 依此類推
Range("B2") = (objWMI.InstancesOf(strCls)(strCls & ".DeviceID=""" & strCPU & """").LoadPercentage) & " %" ' 取得使用率
End Sub
目前已解決利用VBA讀取當前CPU的值並可以記錄在我要的表格中..
但是我想要長期的自動監測..目前卡在兩個問題 :
1.如何按下按鈕後即會從A2紀錄時間一直往下新增...到AXX B2紀錄CPU使用率一直往下新增到BXX...
2.目前只知道能記錄CPU使用率..不知道紀錄RAM的使用率的指令為何

再請教各大高手指教了Q___Q

froce iT邦大師 1 級 ‧ 2021-02-03 18:47:05 檢舉
不是啊,為啥一定要用VBA寫...
現在很多語言都能產xlsx,會好寫很多。
sam22345 iT邦新手 5 級 ‧ 2021-02-03 23:45:38 檢舉
沒辦法..受於開發環境限制(哭

1 個回答

3
海綿寶寶
iT邦大神 1 級 ‧ 2021-02-03 19:59:24
最佳解答

CPU 用的是Win32_Processor裡的 LoadPercentage
RAM 可以用Win32_OperatingSystem裡的
以下四個屬性
TotalVisibleMemorySize
FreePhysicalMemory
TotalVirtualMemorySize
FreeVirtualMemory

厲害

sam22345 iT邦新手 5 級 ‧ 2021-02-04 14:28:33 檢舉

這版本是不是在2019的版本沒有作用Q___Q

sam22345 iT邦新手 5 級 ‧ 2021-02-04 16:20:47 檢舉

剛剛竟然就這樣解出來了..感謝大神幫忙 !!

我要發表回答

立即登入回答