Come vedere tutte le informazioni del PC utilizzando uno script VBA Excel semplice

Excel e 10 minuti di lavoro ti forniranno informazioni più dettagliate sul tuo computer di quante tu non abbia mai creduto possibile. Sembra troppo bello per essere vero? Quello è Windows, se sai come usarlo.

Excel e 10 minuti di lavoro ti forniranno informazioni più dettagliate sul tuo computer di quante tu non abbia mai creduto possibile.  Sembra troppo bello per essere vero?  Quello è Windows, se sai come usarlo.
Annuncio pubblicitario

Hai mai avuto bisogno di conoscere i dati della CPU o della memoria del computer, il numero di serie o di modello o le versioni del software installate, ma non sapevi dove cercare? Con solo un po 'di semplice codice in Excel, puoi estrarre un'intera libreria delle informazioni del tuo PC Windows Hai ottenuto il PC che hai ordinato? Scoprilo con questi strumenti di informazione di sistema [Windows] Hai ricevuto il PC che hai ordinato? Scoprilo con questi strumenti di informazione di sistema [Windows] Hai acquistato da poco un PC? Se sì, è stato personalizzato? Personalizzato, intendo assemblato da un negozio di computer locale, o anche solo da qualcuno che conosci e costruisce e vende computer. Se tu ... Leggi altro.

Sembra troppo bello per essere vero? Bene, questo è Windows, se sai come usarlo.

Potrebbe essere necessario sporcarsi un po 'le mani, ma in questo articolo ti forniremo tutto il codice che ti serve e come metterlo in Excel e farlo funzionare. Una volta che hai finito, avrai un foglio Excel che, ogni volta che lo apri, ti dice tutto ciò che avresti voluto sapere sul tuo computer.

Si noti che questo funzionerà solo con la versione desktop di Excel, che è possibile ottenere con una versione di prova gratuita di Office 6 Come è possibile utilizzare Microsoft Office senza pagare per 6 modi È possibile utilizzare Microsoft Office senza pagare per esso È necessario Microsoft Office, ma non mi piace il cartellino del prezzo? Vi mostriamo alternative gratuite, tra cui prove gratuite e versioni light o mobile della suite Microsoft Office. Leggi di più .

La magia di WMI

Su qualsiasi computer con sistema operativo Microsoft, hai accesso a un potente set di estensioni chiamato WMI (Windows Management Instrumentation), che ti fornisce un metodo molto potente e completo per accedere a informazioni e specifiche sul tuo computer, sistema operativo 4 Easy Ways Sapere se ci si trova su una versione a 64 bit di Windows 4 Semplici modi per sapere se si è su una versione a 64 bit di Windows Si sta utilizzando un processore che supporta un sistema operativo a 64 bit e si sta eseguendo un 64 -bit sistema operativo? L'utente medio con PC spento probabilmente non conosce le risposte a queste domande, anche se dovrebbero ... Ulteriori informazioni e software installato.

wmiwindows

Meglio di tutto, il WMI è accessibile Come scrivere uno script di Windows Per modificare le impostazioni di rete al volo Come scrivere uno script di Windows Per modificare le impostazioni di rete al volo In molti uffici o ambienti di lavoro, potrebbe essere necessario ridefinire le impostazioni di rete in connettersi a reti diverse. Mi sono trovato in questa situazione abbastanza spesso, e sono diventato così stanco di navigare verso il ... Leggi di più dai linguaggi di programmazione come VBA Come si può fare la tua semplice app con VBA Come si può fare la tua semplice app con VBA Per quelli di tu che ti piacerebbe davvero essere in grado di scrivere la tua applicazione, ma non hai mai digitato una singola riga di codice prima, ti spiegherò come rendere molto ... Read More, disponibile in quasi tutti i prodotti Microsoft Office.

Impostazione del foglio di calcolo automatizzato

Innanzitutto, crea la nuova cartella di lavoro di Excel e chiamala qualcosa come MyComputerInfo. xlsm (Macro abilitata). Aprilo, salta Foglio1 e rinomina i prossimi 11 fogli come segue:

  • Rete
  • LogicalDisk
  • Processore
  • Memoria fisica
  • Controller video
  • OnBoardDevices
  • Sistema operativo
  • Stampante
  • Software
  • conti
  • Servizi

Questi conserveranno tutti i dettagli del tuo computer e verranno aggiornati ogni volta che apri questo foglio di calcolo di Excel.

wmi1

Successivamente, vai alla voce del menu Sviluppatore e sotto la sezione Controlli fai clic su Visualizza codice .

wmi2

Se non vedi la voce di menu Sviluppatore, fai clic su File> Opzioni> Personalizza barra multifunzione, modifica i comandi Scegli dal menu a discesa su Tutte le schede, seleziona Sviluppatore e premi il pulsante Aggiungi >> per aggiungerlo al lato Nastro personalizzato. Assicurati che la casella di controllo Sviluppatore su quel lato sia selezionata dopo averla aggiunta.

wmi3

Una volta dentro l'editor di codice VBA Monitor Se le tue applicazioni VBA sono in esecuzione con questo monitor di script Slick Se le tue applicazioni VBA sono in esecuzione con questo script scorrevole Leggi di più, tutto ciò che devi fare è aggiungere gli script di seguito a un modulo. Questi script faranno tutto il lavoro pesante. Non è necessario scrivere questo codice da soli, basta copiarli e incollarli come mostrato di seguito.

Una volta che hai finito di copiare e incollare usando il codice nella prossima sezione, tutto ciò che devi fare è aggiungere un po 'più di codice per caricare i tuoi fogli, e il gioco è fatto.

Ok, pronto per copiare e incollare? Andiamo ad esso.

Costruire i tuoi moduli WMI

L'ispirazione per questo codice proviene da una fantastica risorsa Google Sites chiamata Beyond Excel. L'esempio mostrato è una subroutine chiamata WMI (), che passa tutte le informazioni di rete del computer all'area di debug dell'ambiente di programmazione Excel.

Certo, non ci fa molto bene lì, quindi ho modificato il codice per far uscire tutti i dettagli su uno dei fogli che hai creato nel primo passaggio di questa guida.

Nell'area di navigazione della codifica vedrai anche una sezione chiamata Moduli e un componente sotto Modulo1 . Fare doppio clic su questo per aprirlo. Se non vedi la cartella Moduli, espandi Inserisci dal menu e seleziona Modulo .

wmi5

Questa area è dove verranno utilizzate tutte le subroutine che utilizzeranno WMI per estrarre tutte le informazioni importanti sul tuo computer e caricarle nei fogli che hai creato.

Posizionare le seguenti righe nella parte superiore della finestra del codice tutto da solo.

Public oWMISrvEx As Object 'SWbemServicesEx Public oWMIObjSet As Object 'SWbemServicesObjectSet Public oWMIObjEx As Object 'SWbemObjectEx Public oWMIProp As Object 'SWbemProperty Public sWQL As String 'WQL Statement Public n 

Dovrebbe assomigliare a questo quando hai finito:

wmi5

Incolla il seguente codice in Module1 sotto le linee che hai appena creato:

 Sub NetworkWMI() sWQL = "Select * From Win32_NetworkAdapterConfiguration" Set oWMISrvEx = GetObject("winmgmts:root/CIMV2") Set oWMIObjSet = oWMISrvEx.ExecQuery(sWQL) intRow = 2 strRow = Str(intRow) ThisWorkbook.Sheets("Network").Range("A1").Value = "Name" ThisWorkbook.Sheets("Network").Cells(1, 1).Font.Bold = True ThisWorkbook.Sheets("Network").Range("B1").Value = "Value" ThisWorkbook.Sheets("Network").Cells(1, 2).Font.Bold = True For Each oWMIObjEx In oWMIObjSet For Each oWMIProp In oWMIObjEx.Properties_ If Not IsNull(oWMIProp.Value) Then If IsArray(oWMIProp.Value) Then For n = LBound(oWMIProp.Value) To UBound(oWMIProp.Value) Debug.Print oWMIProp.Name & "(" & n & ")", oWMIProp.Value(n) ThisWorkbook.Sheets("Network").Range("A" & Trim(strRow)).Value = oWMIProp.Name ThisWorkbook.Sheets("Network").Range("B" & Trim(strRow)).Value = oWMIProp.Value(n) ThisWorkbook.Sheets("Network").Range("B" & Trim(strRow)).HorizontalAlignment = xlLeft intRow = intRow + 1 strRow = Str(intRow) Next Else ThisWorkbook.Sheets("Network").Range("A" & Trim(strRow)).Value = oWMIProp.Name ThisWorkbook.Sheets("Network").Range("B" & Trim(strRow)).Value = oWMIProp.Value ThisWorkbook.Sheets("Network").Range("B" & Trim(strRow)).HorizontalAlignment = xlLeft intRow = intRow + 1 strRow = Str(intRow) End If End If Next 'End If Next End Sub 

Ora creerai una funzione identica a questo per ogni foglio che hai creato nella prima parte di questa guida con alcune piccole differenze.

Ad esempio, successivamente copierai quel codice sopra per NetworkWMI (), incollalo sotto la fine di quel codice e poi sostituisci "NetworkWMI ()" con "LogicalDiskWMI ()"

Ci sono solo alcune sezioni che devi modificare in modo che questo codice riempia il foglio corretto.

Cambia questo:

 sWQL = "Select * From Win32_NetworkAdapterConfiguration" 

A questa:

 sWQL = "Select * From Win32_LogicalDisk" 

Cambia queste quattro linee:

 ThisWorkbook.Sheets("Network").Range("A1").Value = "Name" ThisWorkbook.Sheets("Network").Cells(1, 1).Font.Bold = True ThisWorkbook.Sheets("Network").Range("B1").Value = "Value" ThisWorkbook.Sheets("Network").Cells(1, 2).Font.Bold = True 

A questa:

 ThisWorkbook.Sheets("LogicalDisk").Range("A1").Value = "Name" ThisWorkbook.Sheets("LogicalDisk").Cells(1, 1).Font.Bold = True ThisWorkbook.Sheets("LogicalDisk").Range("B1").Value = "Value" ThisWorkbook.Sheets("LogicalDisk").Cells(1, 2).Font.Bold = True 

Cambia queste due linee:

 ThisWorkbook.Sheets("Network").Range("A" & Trim(strRow)).Value = oWMIProp.Name ThisWorkbook.Sheets("Network").Range("B" & Trim(strRow)).Value = oWMIProp.Value(n) 

A questa:

 ThisWorkbook.Sheets("LogicalDisk").Range("A" & Trim(strRow)).Value = oWMIProp.Name ThisWorkbook.Sheets("LogicalDisk").Range("B" & Trim(strRow)).Value = oWMIProp.Value(n) 

E queste tre linee:

 ThisWorkbook.Sheets("Network").Range("A" & Trim(strRow)).Value = oWMIProp.Name ThisWorkbook.Sheets("Network").Range("B" & Trim(strRow)).Value = oWMIProp.Value ThisWorkbook.Sheets("Network").Range("B" & Trim(strRow)).HorizontalAlignment = xlLeft 

A questa:

 ThisWorkbook.Sheets("LogicalDisk").Range("A" & Trim(strRow)).Value = oWMIProp.Name ThisWorkbook.Sheets("LogicalDisk").Range("B" & Trim(strRow)).Value = oWMIProp.Value ThisWorkbook.Sheets("LogicalDisk").Range("B" & Trim(strRow)).HorizontalAlignment = xlLeft 

Ora hai quasi finito!

Ripeti il ​​precedente per ogni scheda nella cartella di lavoro. Le funzioni saranno le seguenti:

  • "ProcessorWMI ()" per il foglio "Processore".
  • "PhysicalMemWMI ()" per il foglio "Memoria fisica".
  • "VideoControlWMI ()" per il foglio "Controller video".
  • "OnBoardWMI ()" per il foglio "OnBoardDevices".
  • "PrinterWMI ()" per il foglio "Stampante".
  • "OperatingWMI ()" per la scheda Sistema operativo.
  • "SoftwareWMI ()" per il foglio "Software".
  • "ServicesWMI ()" per il foglio "Servizi".

Gli speciali oggetti "Win32_" che devi usare per accedere a queste informazioni sul tuo computer sono i seguenti:

  • Win32_NetworkAdapterConfiguration: tutte le impostazioni di configurazione della rete
  • Win32_LogicalDisk - Dischi con capacità e spazio libero.
  • Win32_Processor - Specifiche CPU
  • Win32_PhysicalMemoryArray - RAM / Dimensioni della memoria installata
  • Win32_VideoController - Adattatore grafico e impostazioni
  • Win32_OnBoardDevice - Dispositivi della scheda madre
  • Win32_OperatingSystem - Quale versione di Windows con numero di serie
  • WIn32_Printer - Stampanti installate
  • Win32_Product - Software installato
  • Win32_BaseService: elenca i servizi in esecuzione (o arrestati) su qualsiasi PC insieme al percorso e al nome del file del servizio.

Completare la copia / incolla e modificare ciascuna di queste funzioni nell'area Modulo1 del codice. Quando hai finito, passa alla sezione successiva di questa guida.

Ricordati di salvare il tuo codice nella vista VB! Se inizialmente hai salvato la tua cartella di lavoro con il tipo di file .xls, Excel ti chiederà di utilizzare un tipo di file abilitato alla macro, come .xlsm .

Caricamento automatico della cartella di lavoro

Ora che hai creato tutte queste potenti funzioni, non resta che eseguirle ogni volta che la cartella di lavoro viene aperta. Fare questo è davvero facile.

Nel browser degli oggetti a sinistra, sotto Oggetti di Microsoft Excel, dovresti vedere ThisWorkbook . Fare doppio clic su quell'oggetto per aprirlo.

wmi6

Nella parte superiore dell'area del codice, ci sono due caselle a discesa, cambia quella a sinistra nella cartella di lavoro e quella a destra in Apri .

wmi7

Vedrai una funzione generata automaticamente per te chiamata Private Sub Workbook_Open () .

Dentro qui, digita le seguenti righe di codice in modo che la funzione assomigli a questa:

 Private Sub Workbook_Open() NetworkWMI LogicalDiskWMI ProcessorWMI PhysicalMemWMI VideoControlWMI OnBoardWMI PrinterWMI SoftwareWMI OperatingWMI ServicesWMI End Sub 

Ora, ogni volta che apri la cartella di lavoro, verranno richiamate tutte le funzioni appena create, recupererai tutti i dati Visualizza i tuoi dati e crei i tuoi fogli di calcolo User friendly con una dashboard di Excel Visualizza i tuoi dati e crea i tuoi fogli di calcolo User Friendly con un cruscotto Excel A volte, un semplice formato di foglio di calcolo non è abbastanza coinvolgente per rendere accessibili i tuoi dati. Una dashboard ti consente di presentare i tuoi dati più importanti in un formato facile da digerire. Leggi altro dal computer e caricalo nel foglio appropriato.

Per vederlo in azione, salvare il codice, chiudere la finestra del codice, salvare la cartella di lavoro e chiudere anche quella. Riapri il file che hai appena chiuso e scoprirai che ogni singolo foglio contiene volumi di dati sul tuo computer.

Poiché la cartella di lavoro contiene Macro, che può essere disabilitata per motivi di sicurezza, potrebbe essere necessario fare clic su Abilita contenuto nella parte superiore del foglio per i dati da raccogliere.

Attenzione: raccoglie un sacco di dati, quindi aspettati di attendere qualche minuto prima che venga caricato quando apri il file per la prima volta.

Raccolta di informazioni sul computer

La cosa sorprendente dell'utilizzo di WMI per questo è che i dati sopra sono solo la punta dell'iceberg. Sono disponibili centinaia di altre classi WMI contenenti informazioni su ogni aspetto del tuo sistema informatico.

Se sei avventuroso e vuoi fare un ulteriore passo avanti, puoi trasformare il primo foglio della cartella di lavoro in un cruscotto. Costruisci il tuo cruscotto meteorologico in questa classe Master di Google Foglio di lavoro Costruisci il tuo cruscotto meteorologico in questa classe master di Google Foglio di calcolo Desiderate trasformare il tuo account Google Drive in un intelligente sistema di analisi del tempo e vivere una fantasia di Star Trek? Ok! Leggi altro, e usa i dati degli altri fogli per alimentare quel dashboard.

La linea di fondo è che utilizzando questo nuovo strumento, sarete in grado di raccogliere e visualizzare più informazioni rispetto alla maggior parte degli esperti IT Scambio di conoscenze IT - Una versione gratuita di Scambio di esperti! Scambio di conoscenze IT - Una versione gratuita di Scambio di esperti! Per saperne di più, è anche possibile rendersi conto di un sistema informatico e sarete in grado di farlo in una frazione del tempo che gli stessi esperti trascorrono a scavare attraverso il pannello di controllo e le aree amministrative alla ricerca di quei dettagli.

Ti vedi costruendo e usando uno strumento come questo? Sei un programmatore VBA 4 fantastici siti web per farti diventare un Visual Basic Guru 4 fantastici siti web per farti diventare un Visual Basic Guru Vuoi imparare Visual Basic? Ecco alcune grandi risorse per iniziare. Leggi di più e hai mai utilizzato le classi WMI? Condividi le tue esperienze e idee nella sezione commenti qui sotto!

Crediti immagine: Adriano Castelli tramite Shutterstock.com, Mclek via Shutterstock

In this article