Comment voir toutes vos informations pc à l`aide d`un simple script excel vba
Avez-vous déjà eu besoin de connaître les détails de votre processeur ou de la mémoire de l`ordinateur, le numéro de série ou d`un modèle, ou installé les versions du logiciel, mais vous ne savez où chercher? Avec juste un peu de code simple dans Excel, vous pouvez extraire une bibliothèque de votre Informations PC Windows.
Contenu
Cela semble trop beau pour être vrai? Eh bien, c`est Windows, si vous savez comment l`utiliser.
Vous devrez peut-être obtenir vos mains un peu sale, mais dans cet article, nous vous fournirons tout le code dont vous avez besoin, et comment le mettre dans Excel et le faire fonctionner. Une fois que vous avez terminé, vous aurez une feuille Excel qui, chaque fois que vous l`ouvrez, vous dit tout ce que vous avez toujours voulu savoir sur votre système informatique.
Notez que cela ne fonctionne qu`avec la version de bureau d`Excel, que vous pouvez obtenir avec un essai gratuit de bureau.6 façons dont vous pouvez utiliser Microsoft Office sans payer6 façons dont vous pouvez utiliser Microsoft Office sans payerLire la suite
La magie de WMI
Sur un ordinateur exécutant un système d`exploitation Microsoft, vous avez accès à un puissant ensemble d`extensions appelé Windows Management Instrumentation (WMI), qui vous fournit une méthode très vaste et puissant pour accéder aux informations et les spécifications de votre ordinateur, système opérateur, et des logiciels installés.
Le meilleur de tous, la WMI est accessible de la programmation langues comme VBA, disponible dans presque tous les produits Microsoft Office.Comment écrire un script Windows Pour modifier les paramètres réseau à la voléeComment écrire un script Windows Pour modifier les paramètres réseau à la voléeDans de nombreux bureaux ou des environnements de travail, vous devrez peut-être redéfinir vos paramètres réseau pour se connecter à différents réseaux. Je me suis retrouvé dans cette situation assez souvent, et me suis tellement fatigué de la navigation à la ...Lire la suite
Configuration de votre feuille de calcul automatique
Tout d`abord, créez votre nouveau classeur Excel et l`appeler quelque chose comme MyComputerInfo.xlsm (Macro activée). Ouvrir, sauter Sheet1, et renommer les 11 feuilles suivantes comme suit:
- Réseau
- LogicalDisk
- Processeur
- Mémoire physique
- contrôleur vidéo
- OnBoardDevices
- Système opérateur
- Imprimante
- Logiciel
- Comptes
- Prestations de service
Ceux-ci détiendront tous les détails de votre ordinateur, et seront mis à jour chaque fois que vous ouvrez cette feuille de calcul Excel.
, Suivant la Développeur élément de menu et sous la Contrôles section, cliquez sur Afficher le code.
Si vous ne voyez pas l`élément de menu Developer, cliquez sur Fichier gt; options gt; personnaliser le ruban, changer la Choisir les commandes menu déroulant pour tous les onglets, sélectionner Développeur et appuyez sur la Addgt; gt; bouton pour l`ajouter à côté du ruban personnalisé. Assurez-vous que la case à cocher Developer de ce côté est sélectionné une fois que vous l`avez ajouté.
Une fois que vous êtes à l`intérieur du éditeur de code VBA, tout ce que vous avez à faire est d`ajouter les scripts ci-dessous à un module. Ces scripts feront tous les soulever des objets lourds. Vous ne devez pas écrire ce code vous-même, il suffit de copier et les coller dans comme indiqué ci-dessous.Surveiller Si votre VBA Apps en cours d`exécution avec ce script SlickSurveiller Si votre VBA Apps en cours d`exécution avec ce script SlickLire la suite
Une fois que vous avez terminé copier et coller en utilisant le code dans la section suivante, tout ce que vous devez faire est d`ajouter un peu plus de code pour charger vos feuilles, et vous avez terminé.
Ok, prêt à copier-coller? Allons à lui.
Construire vos modules WMI
L`inspiration pour ce code provient d`un fantastique Google Sites ressources appelé Beyond Excel. L`exemple montré qu`il existe un sous-programme appelé WMI (), qui passe toutes vos informations de réseau d`ordinateur à la zone de mise au point de l`environnement de programmation Excel.
Bien sûr, cela ne nous fait beaucoup de bien là-bas, donc je l`ai modifié le code à la place sortie tous les détails à l`une des feuilles que vous avez créées dans la première étape de ce guide.
Dans la zone de navigation de codage, vous verrez également une section intitulée Modules et un composant appelé sous Module 1. Double-cliquez dessus pour l`ouvrir. Si vous ne voyez pas le dossier Modules, développez Insérer dans le menu et sélectionnez Module.
Cette zone est l`endroit où tous les sous-routines sera qui utilisera WMI pour tirer toutes les informations importantes sur votre ordinateur et le charger dans les feuilles que vous avez créées.
Placez les lignes suivantes au sommet de la fenêtre de code par lui-même.
oWMISrvEx public comme objet `SWbemServicesExPublic oWMIObjSet As Object`SWbemServicesObjectSetPublic oWMIObjEx As Object `SWbemObjectExPublic oWMIProp As Object`SWbemPropertyPublic sWQL As String « WQL StatementPublic n
Il devrait ressembler à ceci lorsque vous avez terminé:
Coller le code suivant dans Module1 sous les lignes que vous venez de créer:
sous NetworkWMI()sWQL = "* De Win32_NetworkAdapterConfiguration Sélectionnez"Set oWMISrvEx = GetObject("winmgmts: root / CIMV2")Set oWMIObjSet = oWMISrvEx.ExecQuery(sWQL)intRow = 2strRow = Str(intRow)ThisWorkbook.Sheets("Réseau").Gamme("A1").Valeur = "prénom"ThisWorkbook.Sheets("Réseau").Cellules(1, 1).Font.Bold = TrueThisWorkbook.Sheets("Réseau").Gamme("B1").Valeur = "Valeur"ThisWorkbook.Sheets("Réseau").Cellules(1, 2).Font.Bold = TrueFor Chaque oWMIObjEx Dans oWMIObjSetFor Chaque oWMIProp En oWMIObjEx.Properties_If Non IsNull(oWMIProp.Value) ThenIf IsArray(oWMIProp.Value) ThenFor n = LBound(oWMIProp.Value) pour UBound(oWMIProp.Value)Debug.Print oWMIProp.Name & "(" & n & ")", oWMIProp.Value(n)ThisWorkbook.Sheets("Réseau").Gamme("UNE" & Réduire(strRow)).Valeur = oWMIProp.NameThisWorkbook.Sheets("Réseau").Gamme("B" & Réduire(strRow)).Valeur = oWMIProp.Value(n)ThisWorkbook.Sheets("Réseau").Gamme("B" & Réduire(strRow)).HorizontalAlignment = xlLeftintRow = intRow + 1strRow = Str(intRow)NextElseThisWorkbook.Sheets("Réseau").Gamme("UNE" & Réduire(strRow)).Valeur = oWMIProp.NameThisWorkbook.Sheets("Réseau").Gamme("B" & Réduire(strRow)).Valeur = oWMIProp.ValueThisWorkbook.Sheets("Réseau").Gamme("B" & Réduire(strRow)).HorizontalAlignment = xlLeftintRow = intRow + 1strRow = Str(intRow)Mettre fin à IfEnd IfNext`End IfNextEnd Sub
Maintenant, vous allez créer une fonction identique à celle pour chaque feuille que vous avez créé dans la première partie de ce guide avec quelques différences mineures.
Par exemple, vous copie suivante que le code ci-dessus pour NetworkWMI (), coller sous l`extrémité de ce code, puis remplacer « NetworkWMI () » par « LogicalDiskWMI () »
Il y a seulement quelques sections dont vous avez besoin de changer de sorte que ce code remplit la feuille correcte.
Video: Comment déboguer une macro VBA ?
Change ça:
sWQL = "* De Win32_NetworkAdapterConfiguration Sélectionnez"
Pour ça:
sWQL = "* De Win32_LogicalDisk Sélectionnez"
Modifiez ces quatre lignes:
ThisWorkbook.Sheets("Réseau").Gamme("A1").Valeur = "prénom"ThisWorkbook.Sheets("Réseau").Cellules(1, 1).Font.Bold = TrueThisWorkbook.Sheets("Réseau").Gamme("B1").Valeur = "Valeur"ThisWorkbook.Sheets("Réseau").Cellules(1, 2).Font.Bold = Vrai
Pour ça:
Video: Excel et les macros
ThisWorkbook.Sheets("LogicalDisk").Gamme("A1").Valeur = "prénom"ThisWorkbook.Sheets("LogicalDisk").Cellules(1, 1).Font.Bold = TrueThisWorkbook.Sheets("LogicalDisk").Gamme("B1").Valeur = "Valeur"ThisWorkbook.Sheets("LogicalDisk").Cellules(1, 2).Font.Bold = Vrai
Modifiez ces deux lignes:
ThisWorkbook.Sheets("Réseau").Gamme("UNE" & Réduire(strRow)).Valeur = oWMIProp.NameThisWorkbook.Sheets("Réseau").Gamme("B" & Réduire(strRow)).Valeur = oWMIProp.Value(n)
Pour ça:
ThisWorkbook.Sheets("LogicalDisk").Gamme("UNE" & Réduire(strRow)).Valeur = oWMIProp.NameThisWorkbook.Sheets("LogicalDisk").Gamme("B" & Réduire(strRow)).Valeur = oWMIProp.Value(n)
Et ces trois lignes:
ThisWorkbook.Sheets("Réseau").Gamme("UNE" & Réduire(strRow)).Valeur = oWMIProp.NameThisWorkbook.Sheets("Réseau").Gamme("B" & Réduire(strRow)).Valeur = oWMIProp.ValueThisWorkbook.Sheets("Réseau").Gamme("B" & Réduire(strRow)).HorizontalAlignment = xlLeft
Pour ça:
ThisWorkbook.Sheets("LogicalDisk").Gamme("UNE" & Réduire(strRow)).Valeur = oWMIProp.NameThisWorkbook.Sheets("LogicalDisk").Gamme("B" & Réduire(strRow)).Valeur = oWMIProp.ValueThisWorkbook.Sheets("LogicalDisk").Gamme("B" & Réduire(strRow)).HorizontalAlignment = xlLeft
Maintenant, vous êtes presque terminé!
Répéter l`opération pour chaque onglet dans votre classeur. Les fonctions seront les suivantes:
- feuille « ProcessorWMI () » pour le « processeur ».
- pour la feuille « mémoire physique » « PhysicalMemWMI () ».
- feuille « VideoControlWMI () » pour le « contrôleur vidéo ».
- pour la feuille « OnBoardDevices » « OnBoardWMI () ».
- pour la feuille « Printer » « PrinterWMI () ».
- pour la feuille de système d`exploitation « OperatingWMI () ».
- feuille « SoftwareWMI () » pour le « logiciel ».
- feuille « ServicesWMI () » pour le « Services ».
Les objets « spéciaux » Win32_ vous devez utiliser pour accéder à cette information sur votre ordinateur sont les suivantes:
- Win32_NetworkAdapterConfiguration - Tous vos paramètres de configuration du réseau
- Win32_LogicalDisk - disques avec des capacités et l`espace libre.
- Win32_Processor - Spécifications CPU
- Win32_PhysicalMemoryArray - RAM / mémoire installée
- Win32_VideoController - adaptateur et paramètres graphiques
- Win32_OnBoardDevice - Dispositifs de la carte mère
- Win32_OperatingSystem - Quelle version de Windows avec numéro de série
- Win32_Printer - Imprimantes installées
- Win32_Product - Logiciels installés
- Win32_BaseService - Liste des services en cours d`exécution (ou arrêté) sur un PC avec le chemin du service et le nom du fichier.
Terminer copier / coller et peaufiner chacune de ces fonctions dans le Module 1 zone du code. Lorsque vous avez terminé, passez à la section suivante de ce guide.
Rappelez-vous d`enregistrer votre code dans la vue VB! Si vous avez enregistré d`abord votre classeur avec le .xls type de fichier, Excel va maintenant vous demander d`utiliser un type de fichier permis de macro, par exemple .xlsm.
Chargement automatique du classeur
Maintenant que vous avez toutes ces fonctions puissantes créées, tout ce qui reste est de les exécuter à chaque fois que le classeur est ouvert. Faire cela est vraiment facile.
Dans le navigateur d`objets gauche, sous Objets Microsoft Excel, tu devrais voir ThisWorkbook. Double-cliquez sur cet objet pour l`ouvrir.
Au sommet de la zone de code, il y a deux listes déroulantes, changer une gauche à cahier d`exercices et celui de droite à Ouvrir.
Vous verrez une fonction générée automatiquement pour vous appelé Sous Workbook_Open (privé).
A l`intérieur ici, tapez le suivant les lignes de code de sorte que la fonction ressemble à ceci:
Private Sub Workbook_Open()Sous NetworkWMILogicalDiskWMIProcessorWMIPhysicalMemWMIVideoControlWMIOnBoardWMIPrinterWMISoftwareWMIOperatingWMIServicesWMIEnd
Maintenant, chaque fois que vous ouvrez le classeur, chacun de vos fonctions nouvellement créées sera appelé, tirer toutes les données à partir de l`ordinateur, et le charger dans la feuille appropriée.Visualisez vos données & Faites votre Spreadsheets Convivial avec un tableau de bord ExcelVisualisez vos données & Faites votre Spreadsheets Convivial avec un tableau de bord ExcelParfois, un simple format tableur n`est pas suffisamment attrayant pour rendre vos données accessibles. Un tableau de bord vous permet de présenter vos données les plus importantes dans un format facile à digérer.Lire la suite
Pour le voir en action, enregistrer le code, fermez la fenêtre de code, enregistrez le classeur, et à proximité aussi. Re-ouvrir le fichier que vous venez de fermer, et vous découvrirez que chaque feuille contient des volumes de données sur votre ordinateur.
Étant donné que le classeur contient des macros, qui peut être désactivé pour des raisons de sécurité, vous pourriez avoir à cliquer Autoriser le contenu dans la partie supérieure de la feuille de données à collecter.
Attention - il recueille beaucoup de données, alors attendez-vous à attendre quelques minutes pour charger lorsque vous ouvrez le fichier.
Collecte des informations d`ordinateur
La chose étonnante sur l`utilisation de WMI est que les données ci-dessus est que la pointe de l`iceberg. Il y a des centaines d`autres classes WMI disponibles contenant des informations sur tous les aspects de votre système informatique.
Si vous étiez aventureux et je voulais prendre un peu plus loin, vous pouvez tourner la première feuille du classeur dans un tableau de bord, et utiliser les données à partir des autres feuilles pour alimenter ce tableau de bord.Construisez votre propre tableau de bord météo Dans ce Google Spreadsheet Master ClassConstruisez votre propre tableau de bord météo Dans ce Google Spreadsheet Master ClassVoulez-vous transformer votre compte Google Drive dans un système d`analyse météorologique intelligente, et vivre un fantasme Star Trek? D`accord!Lire la suite
L`essentiel est que l`utilisation de ce nouvel outil, vous serez en mesure de recueillir et d`afficher plus d`informations que la plupart des experts en informatique même réaliser est disponible au sujet d`un système informatique, et vous serez en mesure de le faire dans une fraction du temps ces mêmes experts passent à creuser dans le panneau de contrôle et les zones administratives à la recherche pour les détails.
Vous voyez-vous la construction et à l`aide d`un outil comme celui-ci? Es-tu un programmeur VBA et vous avez déjà utilisé des classes WMI? Partagez vos propres expériences et idées dans la section commentaires ci-dessous!