計算機資訊是一個固定的內容,程式設計過程中會經常提取計算機資訊來進行處理,本節介紹一下如何利用VBA來進行提取計算機資訊。本示例基於Windows作業系統,蘋果或Linux系統並不
2021-07-31 06:48:54
計算機資訊是一個固定的內容,程式設計過程中會經常提取計算機資訊來進行處理,本節介紹一下如何利用VBA來進行提取計算機資訊。
本示例基於Windows作業系統,蘋果或Linux系統並不適用,一定分清楚。
下圖為提取後的表格,簡單舉例三個資訊,分別是CPU序列號,硬碟資訊和網卡MAC地址。
根據新建一個GetObject("Winmgmts:")物件來對作業系統進行資訊提取。
它是基於windows系統的系統管理工具WMI。
什麼是WMI 呢?
全稱為Windows管理規範,英文(Windows Management Instrumentation)
它是一項核心的 Windows 管理技術,使用者可以使用 WMI 管理本地和遠端計算機。
總之就是用來管理計算機的一個工具,既然是管理計算機的,那它對計算機有十足的瞭解,所以我們要通過WMI來獲取計算機資訊就找對了。
下面來看具體程式碼,一定要收藏。
獲取CPU序列號函數:
Public Function GetCpu()
'CPU序列號
Dim cpuInfo, Soi, So, s As Integer, cpuArr()
cpuInfo = ""
Set Soi = GetObject("Winmgmts:").InstancesOf("Win32_Processor")
For Each So In Soi
cpuInfo = CStr(So.ProcessorId)
ReDim Preserve cpuArr(s)
cpuArr(s) = cpuInfo
s = s + 1
Next
If Not VBA.IsArray(cpuArr) Then
ReDim cpuArr(0)
cpuArr(0) = ""
End If
GetCpu = cpuArr
End Function
獲取硬碟資訊函數
Function getHde() As String
'硬碟資訊
Dim HDid, moc, mo
Set moc = GetObject("Winmgmts:").InstancesOf("Win32_DiskDrive")
For Each mo In moc
HDid = HDid & mo.Model & VBA.vbCrLf
Next
getHde = VBA.Mid(HDid, 1, VBA.Len(HDid) - 1)
End Function
獲取網卡MAC地址函數:
Function getMAC() As String
'網卡地址
Dim Wap, MAC
Set Wap = GetObject("Winmgmts:").InstancesOf("Win32_NetworkAdapterConfiguration")
For Each MAC In Wap
If MAC.IPEnabled = True Then
getMAC = MAC.MacAddress
Exit For
End If
Next
End Function
以上函數都可以獨立呼叫,呼叫方法如下:
Private Sub CommandButton1_Click()
Dim r As Range
Set r = Range("D2")
With r
.Value = GetCpu
.Offset(1, 0).Value = getHde
.Offset(2, 0).Value = getMAC
End With
End Sub
重點說一點,如果使用的時候沒有返回任何正確資訊,或者有報錯提示,那麼有兩個可能。
一是計算機系統版本不同,由於不同時期的作業系統WMI也會有不同,所以找不到硬體資訊。
二是WMI 服務最好啟動,服務名為「winmgmt」。啟動方法 DOS環境下 執行 net start winmgmt 命令重啟。停止 WMI 服務使用:winmgmt /kill 或 net stop winmgmt ,最好不要停止服務。
如果想獲取更多計算機資訊可參考WMI物件使用方法,不過似乎就脫離了Excel VBA內容了。
歡迎關注、收藏
END
相關文章
計算機資訊是一個固定的內容,程式設計過程中會經常提取計算機資訊來進行處理,本節介紹一下如何利用VBA來進行提取計算機資訊。本示例基於Windows作業系統,蘋果或Linux系統並不
2021-07-31 06:48:54
什麼是Nacos?Nacos是阿里巴巴開源的項目,是一個更易於幫助構建雲原生應用的動態服務發現、配置管理和服務管理平臺。英文全稱 Dynamic Naming and Configuration Service,Na為n
2021-07-31 06:48:36
在微信APP中,發朋友圈和留言都是大家最常用的功能,今天芝麻科技訊為大家帶來2個微信個性玩法,一個是超大號點贊,另外一個是裝個天線留言,簡單又個性,很多小夥伴們都在玩,趕快Get起
2021-07-31 06:48:26
在2021年,中國500強虧損公司排行榜中,拼多多虧損超過70億,國美、東方航空等均榜上有名。但這些公司的虧損相比海南航空公司的虧損,只能算是小巫見大巫。資料顯示,僅2020年海南航
2021-07-31 06:48:17
如果給今年一個主題,那一定是「殺菌、消毒」, 從去年開始就養成了隨時洗手的好習慣,並且一直延續至今。除了自身衛生之外,家裡的「殺菌、消毒」工作也不能馬虎,只是考慮到家裡有
2021-07-31 06:47:33
眾所周知,自從2020年9月15日後,臺積電就無法幫華為生產麒麟晶片了,所以這也就是大家所說的麒麟9000成絕唱了。而媒體們一直表示,麒麟9000只有1000萬顆左右,所以大家就在計算著這1
2021-07-31 06:47:28