So zeigen Sie alle Ihre PC-Informationen mit einem einfachen Excel-VBA-Skript an

Excel und 10 Minuten Arbeit geben Ihnen detailliertere Informationen über Ihren Computer, als Sie jemals für möglich gehalten haben. Klingt zu gut um wahr zu sein? Das ist Windows, wenn Sie wissen, wie man es benutzt.

Excel und 10 Minuten Arbeit geben Ihnen detailliertere Informationen über Ihren Computer, als Sie jemals für möglich gehalten haben.  Klingt zu gut um wahr zu sein?  Das ist Windows, wenn Sie wissen, wie man es benutzt.
Werbung

Haben Sie schon einmal die CPU- oder Speicherdetails, die Seriennummer oder die Modellnummer Ihres Computers oder die installierten Softwareversionen kennen gelernt, waren aber nicht sicher, wo Sie suchen sollten? Mit nur ein wenig einfachem Code in Excel können Sie eine ganze Bibliothek Ihrer Windows PC-Informationen extrahieren. Haben Sie den bestellten PC bekommen? Mit diesen Systeminformationstools herausfinden [Windows] Haben Sie den bestellten PC erhalten? Mit diesen Systeminformationstools herausfinden [Windows] Haben Sie kürzlich einen PC gekauft? Wenn ja, wurde es angepasst? Mit "personalisiert" meine ich, dass sie von einem lokalen Computer-Shop zusammengestellt werden, 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 Ihre Hände ein wenig schmutzig machen, aber in diesem Artikel stellen wir Ihnen den gesamten Code zur Verfügung, den Sie brauchen, und wie Sie es in Excel einfügen und es funktionieren lassen. Sobald Sie fertig sind, haben Sie ein Excel-Blatt, das Ihnen jedes Mal, wenn Sie es öffnen, alles sagt, was Sie jemals über Ihr Computersystem wissen wollten.

Beachten Sie, dass dies nur mit der Desktopversion von Excel funktioniert, die Sie mit einer kostenlosen Testversion von Office 6 erhalten können. Möglichkeiten zur Verwendung von Microsoft Office ohne dafür zu bezahlen 6 Möglichkeiten zur Verwendung von Microsoft Office ohne dafür zu bezahlen Sie benötigen Microsoft Office, aber mag den Preis nicht? Wir zeigen Ihnen kostenlose Alternativen, einschließlich kostenloser Testversionen und leichter oder mobiler Versionen der Microsoft Office-Suite. Weiterlesen .

Die Magie von WMI

Auf jedem Computer, auf dem ein Microsoft-Betriebssystem ausgeführt wird, haben Sie Zugriff auf einen leistungsstarken Satz von Erweiterungen namens Windows Management Instrumentation (WMI), der Ihnen eine sehr leistungsfähige und umfassende Methode zum Zugriff auf Informationen und Spezifikationen zu Ihrem Computer, Betriebssystem 4 Easy Ways bietet zu wissen, wenn Sie auf einer 64-Bit-Version von Windows 4 sind Einfache Möglichkeiten zu wissen, wenn Sie auf einer 64-Bit-Version von Windows sind Verwenden Sie einen Prozessor, der ein 64-Bit-Betriebssystem unterstützt und Sie eine 64 ausführen -Bit Betriebssystem? Der Durchschnitts-PC-Benutzer kennt die Antworten auf diese Fragen wahrscheinlich nicht, obwohl sie .... Lesen Sie mehr und installierte Software.

wmiwindows

Das Beste von allem, ist die WMI zugänglich So schreiben Sie ein Windows Script, um Netzwerkeinstellungen im laufenden Betrieb zu ändern So schreiben Sie ein Windows Script zum Ändern von Netzwerkeinstellungen im laufenden Betrieb In vielen Büros oder Arbeitsumgebungen müssen Sie möglicherweise Ihre Netzwerkeinstellungen neu zu definieren Verbindung zu verschiedenen Netzwerken herstellen. Ich fand mich in dieser Situation oft genug, und wurde so müde von Browsing zum ... Lesen Sie mehr von Programmiersprachen wie VBA Wie können Sie Ihre eigene einfache App mit VBA Wie können Sie Ihre eigene einfache App mit VBA für diejenigen von Sie, die wirklich gerne in der Lage sein würde, Ihre eigene Anwendung zu schreiben, aber noch nie zuvor eine einzige Codezeile eingegeben haben, werde ich Sie durchgehen lassen, indem Sie Ihre ... Read More, verfügbar in fast allen Microsoft Office-Produkten.

Einrichten Ihrer automatisierten Tabelle

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

  • Netzwerk
  • Logische Platte
  • Prozessor
  • Physikalischer Speicher
  • Video-Controller
  • Onboard-Geräte
  • Betriebssystem
  • Drucker
  • Software
  • Konten
  • Dienstleistungen

Diese werden alle Ihre Computerdetails enthalten und werden jedes Mal aktualisiert, wenn Sie diese Excel-Tabelle öffnen.

wmi1

Als nächstes gehen Sie zum Menüpunkt " Developer" und klicken Sie unter " Controls " auf " Code anzeigen" .

wmi2

Wenn Sie den Menüeintrag Developer nicht sehen, klicken Sie auf Datei> Optionen> Ribbon anpassen, ändern Sie das Dropdown-Menü Choose commands from to Alle Tabs, wählen Sie Developer und drücken Sie die Schaltfläche Add >>, um sie der Seite Customized Ribbon hinzuzufügen. Stellen Sie sicher, dass das Kontrollkästchen "Entwickler" auf dieser Seite ausgewählt ist, sobald Sie es hinzugefügt haben.

wmi3

Sobald Sie im VBA-Code-Editor sind Monitor Wenn Ihre VBA-Anwendungen mit diesem Slick-Skript-Monitor ausgeführt werden Wenn Ihre VBA-Anwendungen mit diesem Slick-Skript Lesen Sie mehr ausgeführt werden, müssen Sie nur die folgenden Skripte zu einem Modul hinzufügen. Diese Skripte erledigen alle schweren Aufgaben. Sie müssen diesen Code nicht selbst schreiben, sondern kopieren und einfügen, wie unten gezeigt.

Wenn Sie den Code im nächsten Abschnitt kopiert und eingefügt haben, müssen Sie lediglich etwas mehr Code hinzufügen, um Ihre Blätter zu laden, und Sie sind fertig.

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

Erstellen Sie Ihre WMI-Module

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

Natürlich macht es uns dort nicht viel, also habe ich den Code geändert, um stattdessen alle Details auf eines der Blätter auszugeben, die Sie im ersten Schritt dieses Handbuchs erstellt haben.

Im Codierungsnavigationsbereich sehen Sie unter Module1 eine Sektion namens Module und eine Komponente. Doppelklicken Sie darauf, um es zu öffnen. Wenn der Ordner "Module" nicht angezeigt wird, erweitern Sie " Einfügen" aus dem Menü und wählen Sie " Modul" .

wmi5

In diesem Bereich befinden sich alle Unterprogramme, in denen mithilfe von WMI alle wichtigen Informationen zu Ihrem Computer abgerufen und in die von Ihnen erstellten Blätter geladen werden.

Platzieren Sie die folgenden Zeilen ganz oben im Codefenster.

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 

Es sollte so aussehen, wenn Sie fertig sind:

wmi5

Fügen Sie den folgenden Code in Module1 unterhalb der soeben erstellten Zeilen ein:

 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 

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

Als nächstes würden Sie den obigen Code für NetworkWMI () kopieren, unter das Ende dieses Codes einfügen und dann "NetworkWMI ()" durch "LogicalDiskWMI ()" ersetzen.

Es gibt nur ein paar 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" 

Ändere diese vier Zeilen:

 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 

Zu diesem:

 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 

Ändere diese zwei Zeilen:

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

Zu diesem:

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

Und diese drei Zeilen:

 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 

Zu diesem:

 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 

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 das Blatt "Prozessor".
  • "PhysicalMemWMI ()" für das Blatt "Physical Memory".
  • "VideoControlWMI ()" für das Blatt "Video Controller".
  • "OnBoardWMI ()" für das Blatt "OnBoardDevices".
  • "PrinterWMI ()" für das Blatt "Drucker".
  • "OperatingWMI ()" für das Betriebssystemblatt.
  • "SoftwareWMI ()" für das "Software" -Blatt.
  • "ServicesWMI ()" für das Blatt "Dienste".

Die speziellen "Win32_" -Objekte, die Sie verwenden müssen, um auf diese Informationen über Ihren Computer zuzugreifen, lauten wie folgt:

  • Win32_NetworkAdapterConfiguration - Alle Ihre Netzwerkkonfigurationseinstellungen
  • Win32_LogicalDisk - Festplatten mit Kapazitäten und freiem Speicherplatz.
  • Win32_Processor - CPU-Spezifikationen
  • Win32_PhysicalMemoryArray - RAM / Größe des installierten Speichers
  • Win32_VideoController - Grafikkarte 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, die auf jedem PC ausgeführt werden (oder gestoppt werden), zusammen mit dem Pfad und Dateinamen des Dienstes.

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

Denken Sie daran, Ihren Code in der VB-Ansicht zu speichern! Wenn Sie Ihre Arbeitsmappe ursprünglich mit dem Dateityp .xls gespeichert haben, werden Sie in Excel jetzt aufgefordert, einen aktivierten Makro-Dateityp wie .xlsm zu verwenden .

Die Arbeitsmappe automatisch laden

Nachdem Sie alle diese leistungsstarken Funktionen erstellt haben, müssen Sie sie nur noch bei jedem Öffnen der Arbeitsmappe ausführen. Das ist wirklich einfach.

Im linken Objektbrowser unter Microsoft Excel-Objekte sollte ThisWorkbook angezeigt werden . Doppelklicken Sie auf das Objekt, um es zu öffnen.

wmi6

Am oberen Rand des Code-Bereichs befinden sich zwei Dropdown-Felder, wechseln Sie das linke zu Arbeitsmappe und das rechte zu Öffnen .

wmi7

Sie sehen eine automatisch generierte Funktion namens Private Sub Workbook_Open () .

Geben Sie hier die folgenden Codezeilen ein, damit die Funktion folgendermaßen aussieht:

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

Jetzt, jedes Mal, wenn Sie die Arbeitsmappe öffnen, wird jede Ihrer neu erstellten Funktionen aufgerufen, ziehen Sie alle Daten Visualisieren Sie Ihre Daten und machen Sie Ihre Tabellen benutzerfreundlich mit einem Excel-Dashboard Visualisieren Sie Ihre Daten und machen Sie Ihre Tabellen benutzerfreundlich mit einem Excel-Dashboard manchmal, ein einfaches Tabellenformat ist nicht ausreichend, um Ihre Daten zugänglich zu machen. Ein Dashboard ermöglicht es Ihnen, Ihre wichtigsten Daten in einem übersichtlichen Format darzustellen. 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 sie auch. Öffnen Sie die Datei, die Sie gerade geschlossen haben, erneut, und Sie werden feststellen, dass jedes einzelne Blatt Datenmengen über Ihren Computer enthält.

Da die Arbeitsmappe Makros enthält, die aus Sicherheitsgründen deaktiviert werden können, müssen Sie möglicherweise am Anfang des Blattes auf Inhalt aktivieren klicken, um Daten zu sammeln.

Warnung - es sammelt eine Menge Daten. Warten Sie daher einige Minuten, bis es geladen ist, wenn Sie die Datei zum ersten Mal öffnen.

Sammeln von Computerinformationen

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

Wenn Sie abenteuerlustig waren und einen Schritt weiter gehen wollten, könnten Sie das erste Blatt der Arbeitsmappe in ein Dashboard umwandeln. Erstellen Sie Ihr eigenes Wetter-Dashboard in dieser Google Spreadsheet Master-Klasse Erstellen Sie Ihr eigenes Wetter-Dashboard in dieser Google Spreadsheet-Master-Klasse Ihr Google Drive-Konto in ein intelligentes Wetteranalysesystem umwandeln und eine Star Trek-Fantasie ausleben? OK! Lesen Sie mehr und verwenden Sie die Daten der anderen Blätter, um dieses Dashboard zu füttern.

Die Quintessenz ist, dass Sie mit diesem neuen Tool mehr Informationen sammeln und anzeigen können als die meisten IT-Experten. IT Knowledge Exchange - Eine kostenlose Version von Expert Exchange! IT Knowledge Exchange - Eine kostenlose Version von Expert Exchange! Read More even realize ist über ein Computersystem verfügbar, und Sie werden es in einem Bruchteil der Zeit tun können, die dieselben Experten damit verbringen, durch das Kontrollfeld und die administrativen Bereiche zu graben, die nach diesen Details suchen.

Siehst du, dass du ein Werkzeug wie dieses errichtest und benutzt? Sind Sie ein VBA-Programmierer 4 Große Websites, um Sie zu einem Visual Basic Guru 4 Große Websites, um Sie zu einem Visual Basic-Guru Willst du Visual Basic lernen? Hier sind einige großartige Ressourcen für den Einstieg. Lesen Sie mehr und haben Sie jemals WMI-Klassen verwendet? Teilen Sie Ihre eigenen Erfahrungen und Ideen in den Kommentaren unten!

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

In this article