Comment visualiser toutes les informations de votre ordinateur à l'aide d'un script VBA Excel simple
Avez-vous déjà eu besoin de connaître le processeur, la mémoire, le numéro de série ou de modèle, ou les versions logicielles installées de votre ordinateur, mais vous ne savez pas exactement où chercher? Avec un peu de code simple dans Excel, vous pouvez extraire toute une bibliothèque d’informations sur votre PC Windows. Avez-vous le PC que vous avez commandé? Découvrez ces outils d'informations système [Windows] Avez-vous le PC que vous avez commandé? Découvrez avec ces outils d'information système [Windows] Avez-vous récemment acheté un PC? Si oui, a-t-il été personnalisé? Par personnalisé, j'entends assemblé par un magasin d'informatique local, ou même simplement par quelqu'un que vous connaissez qui construit et vend des ordinateurs. Si vous… Lire la suite .
Cela semble trop beau pour être vrai? Eh bien, c'est Windows, si vous savez l'utiliser.
Vous aurez peut-être besoin de vous salir les mains, mais dans cet article, nous vous fournirons tout le code dont vous avez besoin, ainsi que la façon de l'insérer dans Excel et de le faire fonctionner. Une fois que vous avez terminé, vous obtenez un fichier Excel qui, chaque fois que vous l'ouvrez, vous indique tout ce que vous avez toujours voulu savoir sur votre système informatique..
Notez que cela ne fonctionnera qu'avec la version de bureau d'Excel, que vous pouvez obtenir avec une version d'essai gratuite d'Office 6 façons d'utiliser Microsoft Office sans payer le coût. 6 façons d'utiliser Microsoft Office sans le payer. Avez-vous besoin de Microsoft Office mais vous n'aimez pas le prix? Voici quelques façons d'utiliser gratuitement Microsoft Office! Lire la suite .
La magie de WMI
Sur tout ordinateur exécutant un système d'exploitation Microsoft, vous avez accès à un ensemble d'extensions puissant appelé WMI (Windows Management Instrumentation), qui vous fournit une méthode très puissante et complète pour accéder aux informations et aux spécifications de votre ordinateur, système d'exploitation 4 Easy Ways savoir si vous utilisez une version 64 bits de Windows 4 manières simples de savoir si vous utilisez une version 64 bits de Windows Utilisez-vous un processeur qui prend en charge un système d'exploitation 64 bits et exécutez-vous une version 64 bits? système d'exploitation à bits? L'utilisateur moyen d'un PC ordinaire ne connaît probablement pas les réponses à ces questions, bien qu'ils devraient… Lire la suite et les logiciels installés.
Le meilleur de tout, le WMI est accessible. Comment écrire un script Windows pour modifier les paramètres réseau à la volée Comment écrire un script Windows pour modifier les paramètres réseau à la volée Dans de nombreux bureaux ou environnements de travail, vous devrez peut-être redéfinir vos paramètres réseau. se connecter à différents réseaux. Je me suis souvent retrouvé dans cette situation assez souvent, et j'étais tellement fatigué de… En savoir plus sur les langages de programmation tels que VBA Comment créer votre propre application simple avec VBA Comment créer votre propre application simple avec VBA Pour ceux d'entre vous qui j'aimerais vraiment pouvoir écrire votre propre application, mais je n'ai jamais tapé une seule ligne de code auparavant, je vais vous expliquer comment… Read More, disponible dans presque tous les produits Microsoft Office.
Configuration de votre feuille de calcul automatisée
Tout d’abord, créez votre nouveau classeur Excel et appelez-le comme suit: MonOrdinateurInfo.xlsm (Macro activé). Ouvrez-le, ignorez Feuille1 et renommez les 11 feuilles suivantes comme suit:
- Réseau
- LogicalDisk
- Processeur
- Mémoire physique
- Contrôleur vidéo
- Appareils embarqués
- Système opérateur
- Imprimante
- Logiciel
- Comptes
- Prestations de service
Ceux-ci contiendront tous les détails de votre ordinateur et seront mis à jour chaque fois que vous ouvrirez cette feuille de calcul Excel..
Ensuite, allez au Développeur élément de menu et sous le Les contrôles section clic Voir le code.
Si vous ne voyez pas l'élément de menu Développeur, cliquez sur Fichier> Options> Personnaliser le ruban, changer la Choisissez des commandes parmi liste déroulante à Tous les onglets, sélectionner Développeur et appuyez sur le Ajouter >> bouton pour l'ajouter au côté du ruban personnalisé. Assurez-vous que la case à cocher Développeur de ce côté est cochée une fois que vous l'avez ajoutée..
Une fois que vous êtes dans l'éditeur de code VBA, procédez comme suit: Moniteur Si vos applications VBA s'exécutent avec ce moniteur de script fluide Si vos applications VBA s'exécutent avec ce script fluide, vous n'avez qu'à ajouter les scripts ci-dessous à un module. Ces scripts feront tout le gros du travail. Vous n'avez pas à écrire ce code vous-même, il vous suffit de les copier et les coller comme indiqué ci-dessous.
Une fois que vous avez terminé de copier et coller en utilisant le code de la section suivante, il vous suffit d’ajouter un peu plus de code pour charger vos feuilles, et vous avez terminé..
Ok, prêt à copier et coller? Allons-y.
Construire vos modules WMI
L'inspiration pour ce code provient d'une ressource fantastique de Google Sites appelée Beyond Excel. L'exemple présenté est un sous-programme appelé WMI (), qui transmet toutes les informations réseau de votre ordinateur à la zone de débogage de l'environnement de programmation Excel..
Bien sûr, cela ne nous fait pas beaucoup de bien là-bas. J'ai donc modifié le code pour afficher tous les détails dans l'une des feuilles que vous avez créées à la première étape de ce guide..
Dans la zone de navigation du codage, vous verrez également une section intitulée Modules et un composant sous appelé 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.
C’est dans cette zone que se trouvent tous les sous-programmes qui utiliseront WMI pour extraire toutes les informations importantes concernant votre ordinateur et les charger dans les feuilles que vous avez créées..
Placez les lignes suivantes tout en haut de la fenêtre de code.
Public oWMISrvEx As Object 'SWbemServicesEx Public oWMIObjSet As Object' SWbemServicesObjectSet Public oWMIObjEx As Object 'SWbemObjectEx Public oWMIProp As Object' SWbemProperty Public sWQL As String 'Instruction WQL Public n
Cela devrait ressembler à ceci quand vous avez fini:
Coller le code suivant dans Module1 sous les lignes que vous venez de créer:
Sub NetworkWMI () sWQL = "Select * From Win32_NetworkAdapterConfiguration" Définissez oWMISrvEx = GetObject ("winmgmts: root / CIMV2") définissez oWMIObjSet = oWMISrvEx.ExecQuery (sWQL) intRow = 2. ) .Range ("A1"). Value = "Name" ThisWorkbook.Sheets ("Réseau"). Cells (1, 1) .Font.Bold = True ThisWorkbook.Sheets ("Réseau"). Plage ("B1") .Value = "Valeur" ThisWorkbook.Sheets ("Réseau"). Cellules (1, 2) .Font.Bold = True pour chaque oWMIObjEx dans oWMIObjSet pour chaque oWMIProp dans oWMIObjEx.Properties_ Si non IsNull (oWMIProp.value) (oWMIProp.Value) Alors pour n = LBound (oWMIProp.Value) À UBound (oWMIProp.Value) Debug.Print oWMIProp.Name & "(" & n & ")", oWMIProp.Value (n) ThisWorkbook.Sheets (" Network "). Range (" A "& Trim (strRow)). Valeur = oWMIProp.Name ThisWorkbook.Sheets (" Réseau "). Range (" B "& Trim (strRow)). Valeur = oWMIProp.Value (n) ThisWorkbook.Sheets ("Network"). Range ("B" & Trim (strRow)). HorizontalAlignment = xlLeft intRow = intRow + 1 strRow = Str (intRow) Suivant le reste de cette fenêtre orkbook.Sheets ("Réseau"). Plage ("A" & Trim (strRow)). Valeur = oWMIProp.Name ThisWorkbook.Sheets ("Réseau"). Plage ("B" & Trim (strRow)). Valeur = oWMIProp .Value ThisWorkbook.Sheets ("Network"). Range ("B" & Trim (strRow)). HorizontalAlignment = xlLeft intRow = intRow + 1 strRow = Str (intRow) End If End Si Next 'End Si Next End End
Maintenant, vous allez créer une fonction identique à celle-ci pour chaque feuille que vous avez créée dans la première partie de ce guide, avec quelques différences mineures..
Par exemple, vous devez ensuite copier le code ci-dessus pour NetworkWMI (), collez-le sous la fin de ce code, puis remplacez “NetworkWMI ()” avec “LogicalDiskWMI ()”
Il ne faut modifier que quelques sections pour que ce code remplisse la feuille appropriée.
Change ça:
sWQL = "Select * From Win32_NetworkAdapterConfiguration"
Pour ça:
sWQL = "Select * From Win32_LogicalDisk"
Changer ces quatre lignes:
ThisWorkbook.Sheets ("Réseau"). Plage ("A1"). Valeur = "Nom" ThisWorkbook.Sheets ("Réseau"). Cellules (1, 1) .Font.Bold = True ThisWorkbook.Sheets ("Réseau") .Range ("B1"). Value = "Valeur" ThisWorkbook.Sheets ("Network"). Cells (1, 2) .Font.Bold = True
Pour ça:
ThisWorkbook.Sheets ("LogicalDisk"). Range ("A1"). Value = "Nom" ThisWorkbook.Sheets ("LogicalDisk"). Cellules (1, 1) .Font.Bold = True ThisWorkbook.Sheets ("LogicalDisk") .Range ("B1"). Value = "Valeur" ThisWorkbook.Sheets ("LogicalDisk"). Cells (1, 2) .Font.Bold = True
Changer ces deux lignes:
ThisWorkbook.Sheets ("Réseau"). Range ("A" & Trim (strRow)). Valeur = oWMIProp.Name ThisWorkbook.Sheets ("Réseau"). Range ("B" & Trim (strRow)). Valeur = oWMIProp .Valeur (n)
Pour ça:
ThisWorkbook.Sheets ("LogicalDisk"). Range ("A" & Trim (strRow)). Value = oWMIProp.Name ThisWorkbook.Sheets ("LogicalDisk"). Range ("B" & Trim (strRow)). Valeur = oWMIProp .Valeur (n)
Et ces trois lignes:
ThisWorkbook.Sheets ("Réseau"). Range ("A" & Trim (strRow)). Valeur = oWMIProp.Name ThisWorkbook.Sheets ("Réseau"). Range ("B" & Trim (strRow)). Valeur = oWMIProp .Value ThisWorkbook.Sheets ("Network"). Range ("B" & Trim (strRow)). HorizontalAlignment = xlLeft
Pour ça:
ThisWorkbook.Sheets ("LogicalDisk"). Range ("A" & Trim (strRow)). Value = oWMIProp.Name ThisWorkbook.Sheets ("LogicalDisk"). Range ("B" & Trim (strRow)). Valeur = oWMIProp .Value ThisWorkbook.Sheets ("LogicalDisk"). Range ("B" & Trim (strRow)). HorizontalAlignment = xlLeft
Maintenant, vous avez presque fini!
Répétez la procédure ci-dessus pour chaque onglet de votre classeur. Les fonctions seront les suivantes:
- “ProcessorWMI ()” pour le “Processeur” drap.
- “PhysicalMemWMI ()” pour le “Mémoire physique” drap.
- “VideoControlWMI ()” pour le “Contrôleur vidéo” drap.
- “OnBoardWMI ()” pour le “Appareils embarqués” drap.
- “PrinterWMI ()” pour le “Imprimante” drap.
- “OperatingWMI ()” pour la feuille de système d'exploitation.
- “LogicielWMI ()” pour le “Logiciel” drap.
- “ServicesWMI ()” pour le “Prestations de service” drap.
Le spécial “Win32_” Les objets que vous devez utiliser pour accéder à ces informations sur votre ordinateur sont les suivants:
- Win32_NetworkAdapterConfiguration - Tous vos paramètres de configuration réseau
- Win32_LogicalDisk - Disques avec capacités et espace libre.
- Win32_Processor - Spécifications de la CPU
- Win32_PhysicalMemoryArray - RAM / Taille de la mémoire installée
- Win32_VideoController - Adaptateur graphique et paramètres
- Win32_OnBoardDevice - Périphériques pour cartes mères
- Win32_OperatingSystem - Quelle version de Windows avec numéro de série
- WIn32_Printer - Imprimantes installées
- Win32_Product - Logiciel installé
- Win32_BaseService - Répertorie les services en cours d'exécution (ou arrêtés) sur n'importe quel PC, ainsi que le chemin d'accès et le nom du fichier du service..
Terminez la copie / collage et le réglage de chacune de ces fonctions dans le Module 1 zone du code. Lorsque vous avez terminé, passez à la section suivante de ce guide..
N'oubliez pas de sauvegarder votre code dans la vue VB! Si vous avez initialement enregistré votre classeur avec le .xls type de fichier, Excel vous demandera maintenant d’utiliser un type de fichier activé pour les macros, tel que .xlsm.
Chargement automatique du classeur
Maintenant que vous avez créé toutes ces fonctions puissantes, il ne vous reste plus qu'à les exécuter à chaque ouverture du classeur. C'est vraiment facile.
Dans le navigateur d'objets de gauche, sous Objets Microsoft Excel, tu devrais voir ThisWorkbook. Double-cliquez sur cet objet pour l'ouvrir.
En haut de la zone de code, il y a deux listes déroulantes, modifiez celle de gauche en Cahier de travail et le droit de Ouvrir.
Vous verrez une fonction générée automatiquement pour vous appelée Private Sub Workbook_Open ().
À l'intérieur, tapez le lignes de code suivantes donc la fonction ressemble à ceci:
Private Sub Workbook_Open () NetworkWMI LogicalDiskWMI ProcessorWMI PhysicalMemWMI VideoControlWMI OnBoardWMI LogicielWMI PrinterWMI LogicielWMI OperatingWMI ServicesWMI End Sub
Désormais, chaque fois que vous ouvrez le classeur, chacune de vos fonctions nouvellement créées sera appelée, extraire toutes les données Visualisez vos données et rendez vos feuilles de calcul conviviales avec un tableau de bord Excel Visualisez vos données et créez vos feuilles de calcul conviviales avec un tableau de bord Excel Parfois , un format de feuille de calcul simple ne suffit pas à 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. Lisez-en plus à partir de l'ordinateur et chargez-le dans la feuille appropriée..
Pour le voir en action, enregistrez le code, fermez la fenêtre de code, enregistrez le classeur et fermez-le également. Rouvrez le fichier que vous venez de fermer et vous découvrirez que chaque feuille contient des volumes de données sur votre ordinateur..
Le classeur contenant des macros, qui peuvent être désactivées pour des raisons de sécurité, vous devrez peut-être cliquer sur Autoriser le contenu en haut de la feuille pour les données à collecter.
Attention, il collecte beaucoup de données. Attendez-vous donc à attendre quelques minutes avant de le charger lors de la première ouverture du fichier..
Collecte d'informations sur l'ordinateur
Ce qui est étonnant avec l’utilisation de WMI, c’est que les données ci-dessus ne sont que la partie visible de l’iceberg. Il existe des centaines de classes WMI disponibles contenant des informations sur chaque aspect de votre système informatique..
Si vous êtes aventureux et souhaitez aller plus loin, vous pouvez transformer la première feuille du classeur en un tableau de bord Créer votre propre tableau de bord météo dans cette classe de maître de feuille de calcul Google Créer votre propre tableau de bord de météo dans cette classe de maître de feuille de calcul Google Souhaitez-vous transformer votre compte Google Drive en un système d'analyse météorologique intelligent et vivre un fantasme Star Trek? D'accord! En savoir plus et utiliser les données des autres feuilles pour alimenter ce tableau de bord.
En résumé, en utilisant ce nouvel outil, vous serez en mesure de collecter et d'afficher plus d'informations que la plupart des experts en informatique. IT Knowledge Exchange - Une version gratuite d'Experts Exchange! IT Knowledge Exchange - Une version gratuite d'Experts Exchange! Read More réalise même qu’un système informatique est disponible et vous pourrez le faire en une fraction du temps passé par ces mêmes experts à explorer le panneau de commande et les zones administratives à la recherche de ces détails..
Vous voyez-vous construire et utiliser un outil comme celui-ci? Êtes-vous un programmeur VBA 4 d'excellents sites Web pour vous transformer en un gourou Visual Basic 4 de grands sites Web pour vous transformer en un gourou Visual Basic Vous voulez apprendre le Visual Basic? Voici quelques ressources utiles pour vous aider à démarrer. Lire la suite et avez-vous déjà utilisé les classes WMI? Partagez vos propres expériences et idées dans la section commentaires ci-dessous!
Crédits d'image: Adriano Castelli via Shutterstock.com, Mclek via Shutterstock
En savoir plus sur: maintenance informatique, Microsoft Excel, programmation Visual Basic.