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

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

Hai mai avuto bisogno di conoscere i dettagli della CPU o della memoria del tuo computer, il numero di serie o di modello o le versioni installate del software, 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 quello 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 ti piace il cartellino del prezzo? Ecco alcuni modi per utilizzare Microsoft Office gratuitamente! Leggi di più .

La magia di WMI

Su qualsiasi computer che esegue un sistema operativo Microsoft, hai accesso a un potente set di estensioni chiamato Windows Management Instrumentation (WMI), che ti fornisce un metodo molto potente e completo per accedere alle informazioni e alle specifiche del 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, sebbene dovrebbero ... Leggi altro e software installato.

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 sfogliare il ... Per saperne 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 voi che piacerebbe davvero essere in grado di scrivere la tua applicazione, ma non ho mai digitato una singola riga di codice prima, ti spiegherò come rendere il tuo molto ... Leggi di più, disponibile in quasi tutti i prodotti Microsoft Office.

Impostazione del foglio di calcolo automatizzato

Innanzitutto, crea la tua nuova cartella di lavoro di Excel e chiamala come qualcosa 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.

Quindi, vai al Sviluppatore voce di menu e sotto il controlli sezione click Visualizza codice.

Se non vedi la voce di menu Developer, clicca su File> Opzioni> Personalizza il nastro, cambiare il Scegli comandi da elenco a Tutte le schede, selezionare Sviluppatore e premere il Aggiungi >> pulsante per aggiungerlo al lato nastro personalizzato. Assicurati che la casella di controllo Sviluppatore su quel lato sia selezionata dopo averla aggiunta.

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 quello che devi fare è aggiungere un po 'più di codice per caricare i tuoi fogli, e hai finito.

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 tuo 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 chiamato Modulo 1. Fare doppio clic su questo per aprirlo. Se non vedi la cartella Modules, espandi Inserire dal menu e selezionare Modulo.

Quest'area è dove saranno presenti tutte le subroutine che useranno 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 'Istruzione WQL Public n 

Dovrebbe assomigliare a questo quando hai finito:

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

Sub NetworkWMI () sWQL = "Seleziona * da Win32_NetworkAdapterConfiguration" Imposta oWMISrvEx = GetObject ("winmgmts: root / CIMV2") Imposta oWMIObjSet = oWMISrvEx.ExecQuery (sWQL) intRow = 2 strRow = Str (intRow) ThisWorkbook.Sheets ("Rete" ) .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 per ogni oWMIObjEx in oWMIObjSet per ogni 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 (" Rete "). Intervallo (" A "e Trim (strRow)). Valore = oWMIProp.Name ThisWorkbook.Sheets (" Rete "). Intervallo (" B "e Trim (strRow)). Valore = oWMIProp.Value (n) ThisWorkbook.Sheets ("Network"). Range ("B" & Trim (strRow)). HorizontalAlignment = xlLeft intRow = intRow + 1 strRow = Str (intRow) Successivo Else ThisW orkbook.Sheets ("Network"). Range ("A" e Trim (strRow)). Value = oWMIProp.Name ThisWorkbook.Sheets ("Network"). Range ("B" & Trim (strRow)). Valore = oWMIProp .Value ThisWorkbook.Sheets ("Network"). Range ("B" & Trim (strRow)). HorizontalAlignment = xlLeft intRow = intRow + 1 strRow = Str (intRow) End If End If Successivo '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 (), incollarlo sotto la fine di quel codice e quindi sostituirlo “NetworkWMI ()” con “LogicalDiskWMI ()”

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

Cambia questo:

sWQL = "Seleziona * da Win32_NetworkAdapterConfiguration" 

A questo:

sWQL = "Seleziona * da 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 questo:

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" e Trim (strRow)). Value = oWMIProp.Name ThisWorkbook.Sheets ("Network"). Range ("B" & Trim (strRow)). Valore = oWMIProp .value (n) 

A questo:

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

E queste tre linee:

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

A questo:

ThisWorkbook.Sheets ("LogicalDisk"). Range ("A" e Trim (strRow)). Value = oWMIProp.Name ThisWorkbook.Sheets ("LogicalDisk"). Range ("B" & Trim (strRow)). Valore = 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 “Processore” foglio.
  • “PhysicalMemWMI ()” per il “Memoria fisica” foglio.
  • “VideoControlWMI ()” per il “Controller video” foglio.
  • “OnBoardWMI ()” per il “OnBoardDevices” foglio.
  • “PrinterWMI ()” per il “Stampante” foglio.
  • “OperatingWMI ()” per la scheda Sistema operativo.
  • “SoftwareWMI ()” per il “Software” foglio.
  • “ServicesWMI ()” per il “Servizi” foglio.

Lo speciale “Win32_” Gli oggetti 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 quelle funzioni in Modulo 1 area 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 .xls tipo di file, Excel ora ti chiederà di utilizzare un tipo di file abilitato alla macro, come ad esempio .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, tu dovresti vedere ThisWorkbook. Fare doppio clic su quell'oggetto per aprirlo.

Nella parte superiore dell'area del codice, ci sono due caselle a discesa, cambia quella a sinistra Cartella di lavoro e quello giusto a Aperto.

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

Dentro qui, digita il seguenti linee di codice quindi la funzione è simile 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 Abilitare il 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 in cui gli stessi esperti spendono nel pannello di controllo e nelle 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 usato classi WMI? Condividi le tue esperienze e idee nella sezione commenti qui sotto!

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

Scopri di più su: Manutenzione computer, Microsoft Excel, Programmazione Visual Basic.