Anzeigen aller PC-Informationen mithilfe eines einfachen Excel VBA-Skripts

Anzeigen aller PC-Informationen mithilfe eines einfachen Excel VBA-Skripts / Windows

Haben Sie jemals die CPU- oder Speicherdetails Ihres Computers, die Serien- oder Modellnummer oder installierte Softwareversionen kennen müssen, waren sich jedoch nicht sicher, wo Sie suchen müssen? Mit nur ein bisschen einfachem Code in Excel können Sie eine ganze Bibliothek Ihrer Windows-PC-Informationen extrahieren. Haben Sie den bestellten PC erhalten? Finden Sie es heraus mit diesen Systeminformationstools [Windows] Haben Sie den bestellten PC erhalten? Informieren Sie sich mit diesen Systeminformationstools [Windows] Haben Sie kürzlich einen PC gekauft? Wenn ja, wurde es angepasst? Individuell meine ich, zusammengestellt von einem lokalen Computerladen oder auch nur von jemandem, den Sie kennen, der Computer baut und verkauft. Wenn Sie… Lesen Sie mehr .

Klingt zu gut um wahr zu sein? Nun, das ist Windows, wenn Sie wissen, wie man es benutzt.

Möglicherweise müssen Sie sich die Hände ein wenig schmutzig machen, aber in diesem Artikel stellen wir Ihnen den gesamten Code zur Verfügung, den Sie benötigen, und wie Sie ihn in Excel einfügen und damit funktionieren. Sobald Sie fertig sind, haben Sie eine Excel-Tabelle, die Ihnen bei jedem Öffnen alles enthält, was Sie schon immer über Ihr Computersystem wissen wollten.

Beachten Sie, dass dies nur mit der Desktop-Version von Excel funktioniert, die Sie mit einer kostenlosen Testversion von Office 6 erhalten können, wie Sie Microsoft Office verwenden können, ohne dafür zu bezahlen. 6 Möglichkeiten, wie Sie Microsoft Office verwenden können, ohne dafür zu bezahlen. Benötigen Sie Microsoft Office aber ich mag den Preis nicht? Sie können Microsoft Office kostenlos nutzen! Weiterlesen .

Die Magie von WMI

Auf jedem Computer, auf dem ein Microsoft-Betriebssystem ausgeführt wird, haben Sie Zugriff auf eine leistungsstarke Erweiterung namens Windows Management Instrumentation (WMI), mit der Sie auf eine sehr leistungsfähige und umfassende Methode zugreifen können, um auf Informationen und Spezifikationen zu Ihrem Computer zuzugreifen. 4 Easy Ways Wenn Sie eine 64-Bit-Version von Windows verwenden, wissen Sie einfach, ob Sie eine 64-Bit-Version von Windows verwenden. Verwenden Sie einen Prozessor, der ein 64-Bit-Betriebssystem unterstützt, und führen Sie eine 64-Bit-Version aus -Bit Betriebssystem? Der durchschnittliche PC-Benutzer weiß wahrscheinlich nicht, welche Antworten er auf diese Fragen hat, obwohl er… Read More und installierte Software verwenden sollte.

Am besten ist das WMI verfügbar. So schreiben Sie ein Windows-Skript, um die Netzwerkeinstellungen schnell zu ändern So schreiben Sie ein Windows-Skript, um die Netzwerkeinstellungen schnell zu ändern In vielen Büros oder Arbeitsumgebungen müssen Sie möglicherweise Ihre Netzwerkeinstellungen neu definieren Verbinden mit verschiedenen Netzwerken. Ich befand mich oft genug in dieser Situation und war so müde vom Browsen in die… Lesen Sie mehr von Programmiersprachen wie VBA Wie können Sie Ihre eigene einfache App mit VBA erstellen? Wie können Sie Ihre eigene einfache App mit VBA erstellen? Ich würde wirklich gerne in der Lage sein, Ihre eigene Anwendung zu schreiben, aber ich habe noch nie zuvor eine einzige Codezeile eingegeben. Ich werde Sie durch die Erstellung Ihrer… Weiterlesen, die in fast allen Microsoft Office-Produkten verfügbar ist, führen.

Einrichten der automatisierten Kalkulationstabelle

Erstellen Sie zunächst Ihre neue Excel-Arbeitsmappe und nennen Sie sie etwas MyComputerInfo.xlsm (Makro aktiviert). Öffnen Sie es, überspringen Sie Sheet1 und benennen Sie die nächsten 11 Arbeitsblätter wie folgt um:

  • Netzwerk
  • LogicalDisk
  • Prozessor
  • Physikalischer Speicher
  • Videocontroller
  • Onboard-Geräte
  • Betriebssystem
  • Drucker
  • Software
  • Konten
  • Dienstleistungen

Diese enthalten alle Ihre Computerdetails und werden bei jedem Öffnen dieser Excel-Tabelle aktualisiert.

Gehen Sie als nächstes zum Entwickler Menüpunkt und unter der Steuerelemente Abschnitt klicken Code anzeigen.

Wenn Sie den Menüpunkt Developer nicht sehen, klicken Sie auf Datei> Optionen> Band anpassen, ändere das Wählen Sie Befehle aus Dropdown auf Alle Registerkarten, wählen Entwickler und drücken Sie die Fügen Sie >> hinzu Klicken Sie auf diese Schaltfläche, um sie zur Seite "Customized Ribbon" hinzuzufügen. Stellen Sie sicher, dass das Entwicklerfeld auf dieser Seite aktiviert ist, sobald Sie es hinzugefügt haben.

Sobald Sie sich im VBA-Code-Editor befinden, sollten Sie Folgendes tun: Monitor Wenn Ihre VBA-Apps mit diesem Slick-Skriptmonitor ausgeführt werden Wenn Ihre VBA-Apps mit diesem Slick-Skript ausgeführt werden, müssen Sie nur die folgenden Skripts zu einem Modul hinzufügen. Diese Skripte erledigen alle schweren Aufgaben. Sie müssen diesen Code nicht selbst schreiben, sondern kopieren und fügen Sie ihn wie unten gezeigt ein.

Wenn Sie mit dem Code im nächsten Abschnitt fertig sind, kopieren und einfügen, müssen Sie nur noch etwas Code hinzufügen, um Ihre Blätter zu laden, und fertig.

Okay, bereit zum Kopieren und Einfügen? Lasst uns anfangen.

Aufbau Ihrer WMI-Module

Die Inspiration für diesen Code stammt von einer fantastischen Google Sites-Ressource namens Beyond Excel. Das dort gezeigte Beispiel ist eine Unterroutine namens WMI (), die alle Netzwerkinformationen Ihres Computers an den Debugging-Bereich der Excel-Programmierumgebung weiterleitet.

Natürlich tut es uns dort nicht besonders gut, daher habe ich den Code so geändert, dass stattdessen alle Details auf einem der Blätter ausgegeben werden, die Sie im ersten Schritt dieses Handbuchs erstellt haben.

Im Codierungsnavigationsbereich sehen Sie auch einen Abschnitt namens Module und eine Komponente unter angerufen Modul 1. Doppelklicken Sie darauf, um es zu öffnen. Wenn Sie den Ordner "Module" nicht sehen, erweitern Sie Einfügen aus dem Menü und wählen Sie Modul.

In diesem Bereich befinden sich alle Unterroutinen, in denen WMI alle wichtigen Informationen über Ihren Computer abruft und in die von Ihnen erstellten Arbeitsblätter lädt.

Platzieren Sie die folgenden Zeilen ganz oben im Codefenster.

Public OWMISrvEx As Object 'SWbemServicesEx Öffentlich OWMIObjSet As Object' SWbemServicesObjectSet Public OWMIObjEx As Objekt 'SWbemObjectEx Public OWMIProp As Object' SWbemProperty Public SWQL As String 'WQL-Anweisung Public n 

Es sollte so aussehen, wenn Sie fertig sind:

Einfügen den folgenden Code in Module1 unter den gerade erstellten Zeilen:

Sub NetworkWMI () sWQL = "Select * From Win32_NetworkAdapterConfiguration" Set oWMISrvEx = GetObject ("winmgmts: root / CIMV2") Set oWMIObjSet = oWMISrvEx.ExecQuery (sWQL) intRow = 2 strRow = StrWow = StrWow = StrWow = StrWow = String ) .Range ("A1"). Value = "Name" ThisWorkbook.Sheets ("Network"). Zellen (1, 1) .Font.Bold = True ThisWorkbook.Sheets ("Network"). Bereich ("B1") .Value = "Value" ThisWorkbook.Sheets ("Network"). Cells (1, 2) .Font.Bold = True für jedes oWMIObjEx in oWMIObjSet für jedes oWMIProp in oWMIObjEx.Properties_ If Not IsNull (oWMIProp.Value) (oWMIProp.Value) Dann für n = LBound (oWMIProp.Value) in UBound (oWMIProp.Value) Debug.Print oWMIProp.Name & "(" & n & ")", oWMIProp.Value (n) ThisWorkbook.Sheets (" Netzwerk "). Bereich (" A "und Trimmen (strRow)). Wert = oWMIProp.Name ThisWorkbook.Sheets (" Netzwerk "). Bereich (" B "& Trimmen (strRow)). Wert = oWMIProp.Value (n) ThisWorkbook.Sheets ("Network"). Range ("B" & Trim (StrRow)). HorizontalAlignment = xlLeft IntRow = IntRow + 1 StrRow = Str (IntRow) Nächste Else ThisW orkbook.Sheets ("Network"). Range ("A" & Trim (strRow)). Wert = oWMIProp.Name ThisWorkbook.Sheets ("Network"). Bereich ("B" & Trim (strRow)). Wert = oWMIProp .Value ThisWorkbook.Sheets ("Network"). Range ("B" & Trim (strRow)). HorizontalAlignment = xlLeft intRow = intRow + 1 strRow = Str (intRow) Ende Wenn Ende Wenn Nächstes Ende Ende 

Jetzt erstellen Sie eine identische Funktion für jedes Blatt, das Sie im ersten Teil dieses Handbuchs erstellt haben, mit einigen geringfügigen Unterschieden.

Als nächstes würden Sie den Code oben für kopieren NetworkWMI (), Fügen Sie es unter dem Ende des Codes ein und ersetzen Sie es dann “NetworkWMI ()” mit “LogicalDiskWMI ()”

Es gibt nur wenige Abschnitte, die Sie ändern müssen, damit dieser Code das richtige Blatt ausfüllt.

Ändere das:

sWQL = "Select * From Win32_NetworkAdapterConfiguration" 

Zu diesem:

sWQL = "Select * From Win32_LogicalDisk" 

Ändern Sie diese vier Zeilen:

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

Zu diesem:

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

Ändern Sie diese beiden Zeilen:

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

Zu diesem:

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

Und diese drei Zeilen:

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

Zu diesem:

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

Jetzt bist du fast fertig!

Wiederholen Sie das oben für jede Registerkarte in Ihrer Arbeitsmappe. Die Funktionen werden wie folgt sein:

  • “ProcessorWMI ()” für die “Prozessor” Blatt.
  • “PhysicalMemWMI ()” für die “Physikalischer Speicher” Blatt.
  • “VideoControlWMI ()” für die “Videocontroller” Blatt.
  • “OnBoardWMI ()” für die “Onboard-Geräte” Blatt.
  • “PrinterWMI ()” für die “Drucker” Blatt.
  • “OperatingWMI ()” für das Betriebssystemblatt.
  • “SoftwareWMI ()” für die “Software” Blatt.
  • “DienstleistungenWMI ()” für die “Dienstleistungen” Blatt.

Das Sonderangebot “Win32_” Folgende Objekte müssen Sie für den Zugriff auf diese Informationen über Ihren Computer verwenden:

  • Win32_NetworkAdapterConfiguration - Alle Netzwerkkonfigurationseinstellungen
  • Win32_LogicalDisk - Festplatten mit Kapazitäten und freiem Speicherplatz.
  • Win32_Processor - CPU-Spezifikationen
  • Win32_PhysicalMemoryArray - Größe des RAM / installierten Speichers
  • Win32_VideoController - Grafikadapter und Einstellungen
  • Win32_OnBoardDevice - Motherboard-Geräte
  • Win32_OperatingSystem - Welche Version von Windows mit Seriennummer
  • WIn32_Printer - Installierte Drucker
  • Win32_Product - Installierte Software
  • Win32_BaseService - Listet Dienste auf, die auf einem beliebigen PC ausgeführt (oder angehalten) werden, zusammen mit dem Pfad und Dateinamen des Dienstes.

Beenden Sie das Kopieren / Einfügen und Optimieren jeder dieser Funktionen im Modul 1 Bereich des Codes. Wenn Sie fertig sind, fahren Sie mit dem nächsten Abschnitt dieser Anleitung fort.

Denken Sie daran, Ihren Code in der VB-Ansicht zu speichern! Wenn Sie Ihre Arbeitsmappe zunächst mit der .xls Dateityp fordert Excel Sie nun auf, einen für Makros aktivierten Dateityp zu verwenden, z .xlsm.

Arbeitsmappe automatisch laden

Nachdem Sie nun all diese leistungsstarken Funktionen erstellt haben, müssen Sie sie bei jedem Öffnen der Arbeitsmappe ausführen. Das ist ganz einfach.

Im linken Objektbrowser unter Microsoft Excel-Objekte, Das solltest du sehen DiesesWerkbuch. Doppelklicken Sie auf das Objekt, um es zu öffnen.

Am oberen Rand des Codebereichs befinden sich zwei Dropdown-Boxen. Ändern Sie die linke in Arbeitsmappe und der richtige zu Öffnen.

Sie sehen eine automatisch für Sie aufgerufene Funktion Private Sub Workbook_Open ().

Geben Sie hier das Zeichen ein folgende Codezeilen so sieht die funktion so aus:

Private Sub Workbook_Open () NetworkWMI LogicalDiskWMI-ProzessorWMI PhysicalMemWMI VideoControlWMI OnBoardWMI-DruckerWMI-SoftwareWMI OperatingWMI ServicesWMI End Sub 

Jedes Mal, wenn Sie die Arbeitsmappe öffnen, wird jede der neu erstellten Funktionen aufgerufen. Alle Daten werden angezeigt. Visualisieren Sie Ihre Daten und machen Sie Ihre Kalkulationstabellen mit einem Excel-Dashboard benutzerfreundlich. Visualisieren Sie Ihre Daten und machen Sie Ihre Kalkulationstabellen mit einem Excel-Dashboard benutzerfreundlich Ein einfaches Tabellenformat ist nicht ansprechend, um Ihre Daten zugänglich zu machen. Über ein Dashboard können Sie Ihre wichtigsten Daten in einem übersichtlichen Format darstellen. Lesen Sie mehr vom Computer und laden Sie es in das entsprechende Blatt.

Um es in Aktion zu sehen, speichern Sie den Code, schließen Sie das Codefenster, speichern Sie die Arbeitsmappe und schließen Sie auch diese. Öffnen Sie die soeben geschlossene Datei erneut, und Sie werden feststellen, dass auf jedem einzelnen Blatt Datenmengen zu Ihrem Computer gespeichert sind.

Da die Arbeitsmappe Makros enthält, die aus Sicherheitsgründen deaktiviert werden können, müssen Sie möglicherweise auf klicken Inhalt aktivieren am oberen Rand des Blattes für die zu erhebenden Daten.

Warnung: Es werden VIELE Daten erfasst. Warten Sie also einige Minuten, bis die Datei geladen wird, wenn Sie die Datei zum ersten Mal öffnen.

Computerinformationen sammeln

Das Erstaunliche an der Verwendung von WMI ist, dass die obigen Daten nur die Spitze des Eisbergs sind. Es gibt Hunderte weiterer WMI-Klassen, die Informationen zu jedem Aspekt Ihres Computersystems enthalten.

Wenn Sie abenteuerlustig waren und dies noch einen Schritt weiterführen möchten, können Sie das erste Blatt der Arbeitsmappe in ein Dashboard umwandeln. Erstellen Sie Ihr eigenes Wetter-Dashboard in dieser Google Spreadsheet-Meisterklasse Ihr Google Drive-Konto in ein intelligentes Wetteranalysesystem verwandeln und eine Star Trek-Fantasie leben? OK! Lesen Sie mehr, und verwenden Sie die Daten aus den anderen Arbeitsblättern, um dieses Dashboard einzugeben.

Unter dem Strich können Sie mit diesem neuen Tool mehr Informationen sammeln und anzeigen als die meisten IT-Experten. IT Knowledge Exchange - Eine kostenlose Version von Experts Exchange! IT Knowledge Exchange - Eine kostenlose Version von Experts Exchange! Lesen Sie mehr darüber, dass ein Computersystem verfügbar ist, und Sie können dies in einem Bruchteil der Zeit tun, in der dieselben Experten das Kontrollfeld und die Verwaltungsbereiche durchsuchen, um nach diesen Details zu suchen.

Sehen Sie, wie Sie ein solches Werkzeug bauen und verwenden? Sind Sie ein VBA-Programmierer? 4 großartige Websites, die Sie zu einem Visual Basic-Guru machen 4 großartige Websites, um Sie zu einem Visual Basic-Guru zu machen Möchten Sie Visual Basic lernen? Hier sind einige großartige Ressourcen, um Ihnen den Einstieg zu erleichtern. Lesen Sie mehr und haben Sie jemals WMI-Klassen verwendet? Teilen Sie Ihre eigenen Erfahrungen und Ideen in den Kommentaren unten mit!

Bildnachweise: Adriano Castelli über Shutterstock.com, Mclek über Shutterstock

Erfahren Sie mehr über: Computerwartung, Microsoft Excel, Visual Basic-Programmierung.