Cómo ver toda la información de su PC con un script de Excel VBA simple

Cómo ver toda la información de su PC con un script de Excel VBA simple / Windows

¿Alguna vez ha necesitado conocer los detalles de la CPU o la memoria de su computadora, el número de serie o modelo o las versiones de software instaladas, pero no estaba seguro de dónde buscar? Con solo un poco de código simple en Excel, puede extraer una biblioteca completa de la información de su PC con Windows. ¿Obtuvo la PC que solicitó? Averigüe con estas herramientas de información del sistema [Windows] ¿Obtuvo la PC que solicitó? Descúbralo con estas herramientas de información del sistema [Windows] ¿Ha comprado recientemente una PC? En caso afirmativo, ¿fue personalizado? Personalizado, me refiero a ensamblado por una tienda de computadoras local, o incluso simplemente por alguien que usted conoce que construye y vende computadoras. Si… Leer más .

Suena demasiado bueno para ser verdad? Bueno, eso es Windows, si sabes cómo usarlo..

Es posible que deba ensuciarse un poco las manos, pero en este artículo le proporcionaremos todo el código que necesita, y cómo ponerlo en Excel y hacerlo funcionar. Una vez que haya terminado, tendrá una hoja de Excel que, cada vez que la abra, le informará todo lo que siempre quiso saber sobre su sistema informático..

Tenga en cuenta que esto solo funcionará con la versión de escritorio de Excel, que puede obtener con una versión de prueba gratuita de Office 6 maneras en que puede usar Microsoft Office sin pagar por ello 6 maneras en que puede usar Microsoft Office sin pagar por ello ¿Necesita Microsoft Office pero no me gusta la etiqueta de precio? ¡Aquí hay algunas formas en que puede usar Microsoft Office gratis! Lee mas .

La magia de WMI

En cualquier computadora con sistema operativo de Microsoft, tiene acceso a un poderoso conjunto de extensiones llamadas Instrumental de administración de Windows (WMI), que le brinda un método muy poderoso y extenso para acceder a información y especificaciones sobre su computadora, sistema operativo 4 maneras sencillas para saber si está en una versión de 64 bits de Windows 4 maneras fáciles de saber si está en una versión de 64 bits de Windows ¿Está utilizando un procesador que admite un sistema operativo de 64 bits y está ejecutando un 64 -bit sistema operativo? El usuario promedio de PC apagado y encendido probablemente no conoce las respuestas a estas preguntas, aunque deberían ... Leer más y el software instalado.

Lo mejor de todo es que se puede acceder a WMI Cómo escribir una secuencia de comandos de Windows para cambiar la configuración de red sobre la marcha Cómo escribir una secuencia de comandos de Windows para cambiar la configuración de red sobre la marcha En muchas oficinas o entornos de trabajo, es posible que deba volver a definir su configuración de red para Conectarse a diferentes redes. Me encontré en esta situación a menudo, y me cansé tanto de buscar en ... Leer más de lenguajes de programación como VBA Cómo puedes crear tu propia aplicación simple con VBA Cómo puedes crear tu propia aplicación simple con VBA Para aquellos de ustedes que Me encantaría poder escribir su propia aplicación, pero nunca antes había escrito una sola línea de código. Le voy a enseñar cómo ... Leer más, disponible en casi todos los productos de Microsoft Office..

Configuración de su hoja de cálculo automatizada

Primero, crea tu nuevo libro de Excel y llámalo como MyComputerInfo.xlsm (Macro habilitada). Ábralo, omita la Hoja1 y cambie el nombre de las siguientes 11 hojas de la siguiente manera:

  • Red
  • Disco lógico
  • Procesador
  • Memoria física
  • Controlador de video
  • Dispositivos a bordo
  • Sistema operativo
  • Impresora
  • Software
  • Cuentas
  • Servicios

Estos contendrán todos los detalles de su computadora y se actualizarán cada vez que abra esta hoja de cálculo de Excel.

A continuación, vaya a la Desarrollador elemento del menú y bajo la Controles sección haga clic Ver código.

Si no ve el elemento del menú Desarrollador, haga clic en Archivo> Opciones> Personalizar la cinta, cambiar el Elija comandos de desplegable para Todas las pestañas, seleccionar Desarrollador y presione el Añadir >> Botón para agregarlo al lado de la cinta personalizada. Asegúrate de que la casilla de verificación Desarrollador en ese lado esté seleccionada una vez que la hayas agregado.

Una vez que esté dentro del editor de código de VBA, Monitoree si sus aplicaciones VBA se ejecutan con este Slick Script Monitor Si sus aplicaciones de VBA se ejecutan con este Slick Script Lea más, todo lo que tiene que hacer es agregar los scripts a continuación a un módulo. Estos scripts harán todo el trabajo pesado. No tiene que escribir este código usted mismo, solo cópielos y péguelos como se muestra a continuación.

Una vez que haya terminado de copiar y pegar usando el código en la siguiente sección, todo lo que tiene que hacer es agregar un poco más de código para cargar sus hojas, y listo..

Bien, ¿listo para copiar y pegar? Hagámoslo.

Construyendo tus módulos WMI

La inspiración para este código proviene de un fantástico recurso de Google Sites llamado Beyond Excel. El ejemplo que se muestra es una subrutina llamada WMI (), que pasa toda la información de la red de su computadora al área de depuración del entorno de programación de Excel.

Por supuesto, no nos sirve de mucho, por lo que modifiqué el código para que todos los detalles se impriman en una de las hojas que creó en el primer paso de esta guía..

En el área de navegación de codificación, también verá una sección llamada Módulos y un componente bajo llamado Módulo 1. Haga doble clic en este para abrirlo. Si no ve la carpeta Módulos, expanda Insertar desde el menú y seleccione Módulo.

Esta área es donde estarán todas las subrutinas que usarán WMI para extraer toda la información importante sobre su computadora y cargarla en las hojas que creó..

Coloque las siguientes líneas en la parte superior de la ventana de código, todo por sí mismo..

Public oWMISrvEx como objeto 'SWbemServicesEx Public oWMIObjSet como objeto' SWbemServicesObjectSet Public oWMIObjEx como objeto 'SWbemObjectEx Public oWMIProp As Object' SWbemProperty Public sWQL Como cadena 'WQL Statement Public n 

Debería verse así cuando hayas terminado:

Pegar el siguiente código en Module1 debajo de las líneas que acaba de crear:

Sub NetworkWMI () sWQL = "Select * From Win32_NetworkAdapterConfiguration" Set oWMISrvEx = GetObject ("winmgmts: root / CIMV2") Set oWMIObjSet por favor ). Rango ("A1"). Valor = "Nombre" ThisWorkbook.Sheets ("Network"). Celdas (1, 1) .Font.Bold = Verdadero ThisWorkbook.Sheets ("Network"). Rango ("B1") .Value = "Valor" ThisWorkbook.Sheets ("Network"). Cells (1, 2) .Font.Bold = True para cada oWMIObjEx In oWMIObjSet para cada oWMIProp In oWMIObjEx.Properties_ Si no es nulo (oWMIProp.Value) If If (oWMIProp.Value) Luego para n = LBound (oWMIProp.Value) Para 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 ThisW orkbook.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 End 

Ahora, va a crear una función idéntica a esta para cada hoja que creó en la primera parte de esta guía con algunas pequeñas diferencias..

Por ejemplo, a continuación, copiaría el código anterior para NetworkWMI (), péguelo debajo del final de ese código y luego reemplace “NetworkWMI ()” con “LogicalDiskWMI ()”

Solo hay que cambiar algunas secciones para que este código complete la hoja correcta..

Cambia esto:

sWQL = "Seleccionar * de Win32_NetworkAdapterConfiguration" 

A esto:

sWQL = "Seleccionar * de Win32_LogicalDisk" 

Cambia estas cuatro líneas:

ThisWorkbook.Sheets ("Network"). Range ("A1"). Value = "Name" ThisWorkbook.Sheets ("Network"). Cells (1, 1) .Font.Bold = True ThisWorkbook.Sheets ("Network") . Rango ("B1"). Valor = "Valor" ThisWorkbook.Sheets ("Red"). Celdas (1, 2) .Font.Bold = True 

A esto:

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

Cambia estas dos líneas:

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

A esto:

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

Y estas tres líneas:

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 

A esto:

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 

Ahora, casi has terminado!

Repita lo anterior para cada pestaña en su libro de trabajo. Las funciones serán las siguientes:

  • “ProcesadorWMI ()” Para el “Procesador” hoja.
  • “PhysicalMemWMI ()” Para el “Memoria física” hoja.
  • “VideoControlWMI ()” Para el “Controlador de video” hoja.
  • “OnBoardWMI ()” Para el “Dispositivos a bordo” hoja.
  • “PrinterWMI ()” Para el “Impresora” hoja.
  • “OperandoWMI ()” para la hoja de sistema operativo.
  • “SoftwareWMI ()” Para el “Software” hoja.
  • “ServiciosWMI ()” Para el “Servicios” hoja.

El especial “Win32_” Los objetos que debe usar para acceder a esta información sobre su computadora son los siguientes:

  • Win32_NetworkAdapterConfiguration - Todos sus ajustes de configuración de red
  • Win32_LogicalDisk - Discos con capacidades y espacio libre.
  • Win32_Processor - Especificaciones de la CPU
  • Win32_PhysicalMemoryArray - RAM / Tamaño de memoria instalada
  • Win32_VideoController - Adaptador de gráficos y configuración
  • Win32_OnBoardDevice - Dispositivos de la placa base
  • Win32_OperatingSystem: qué versión de Windows con número de serie
  • WIn32_Printer - Impresoras instaladas
  • Win32_Product - Software instalado
  • Win32_BaseService: enumera los servicios que se ejecutan (o detienen) en cualquier PC junto con la ruta y el nombre del archivo del servicio.

Termine de copiar / pegar y ajustar cada una de esas funciones en la Módulo 1 Área del código. Cuando haya terminado, pase a la siguiente sección de esta guía.

¡Recuerde guardar su código en la vista VB! Si inicialmente guardó su libro de trabajo con el .xls tipo de archivo, Excel le pedirá que use un tipo de archivo habilitado para macros, como .xlsm.

Cargando automáticamente el libro de trabajo

Ahora que tiene todas esas funciones poderosas creadas, todo lo que queda es ejecutarlas cada vez que se abra el libro. Hacer esto es muy fácil..

En el buscador de objetos de la izquierda, bajo Objetos de Microsoft Excel, debería ver Este libro de trabajo. Haga doble clic en ese objeto para abrirlo..

En la parte superior del área de código, hay dos cuadros desplegables, cambie el de la izquierda a Libro de trabajo y el correcto para Abierto.

Verás una función generada automáticamente para tu llamada. Private Sub Workbook_Open ().

Dentro de aquí, escriba el siguientes líneas de código para que la función se vea así:

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

Ahora, cada vez que abra el libro, se llamará a cada una de sus funciones recién creadas, extraiga todos los datos. Visualice sus datos y haga que sus hojas de cálculo sean fáciles de usar con un tablero de Excel Visualice sus datos y haga que sus hojas de cálculo sean fáciles de usar con un tablero de Excel , un simple formato de hoja de cálculo no es lo suficientemente atractivo como para que sus datos estén accesibles. Un panel de control le permite presentar sus datos más importantes en un formato fácil de digerir. Lea más en la computadora y cárguelo en la hoja correspondiente.

Para verlo en acción, guarde el código, cierre la ventana de código, guarde el libro de trabajo y ciérrelo también. Vuelva a abrir el archivo que acaba de cerrar y descubrirá que cada hoja contiene volúmenes de datos sobre su computadora..

Dado que el libro de trabajo contiene macros, que se pueden desactivar por razones de seguridad, es posible que deba hacer clic en Contenido disponible en la parte superior de la hoja para los datos que se recopilarán.

Advertencia: recopila MUCHOS datos, así que espere unos minutos a que se carguen cuando abra el archivo por primera vez..

Recopilación de información de la computadora

Lo sorprendente de usar WMI para esto es que los datos anteriores son solo la punta del iceberg. Hay cientos más de clases de WMI disponibles que contienen información sobre cada aspecto de su sistema informático..

Si fuera aventurero y quisiera seguir avanzando, podría convertir la primera hoja del libro de trabajo en un tablero de instrumentos Crear su propio panel de clima en esta clase maestra de hojas de cálculo de Google Crear su propio tablero de instrumentos de clima en esta clase maestra de hojas de cálculo de Google ¿Le gustaría ¿Convertir tu cuenta de Google Drive en un sistema inteligente de análisis del clima y vivir una fantasía de Star Trek? ¡De acuerdo! Lea más y use los datos de las otras hojas para alimentar ese tablero..

La conclusión es que con esta nueva herramienta, podrá recopilar y mostrar más información que la mayoría de los expertos en TI. Intercambio de conocimientos de TI: ¡una versión gratuita de Experts Exchange! IT Knowledge Exchange - ¡Una versión gratuita de Experts Exchange! Lea más incluso si está disponible acerca de un sistema informático, y podrá hacerlo en una fracción del tiempo que los mismos expertos pasan investigando en el panel de control y en las áreas administrativas buscando esos detalles..

¿Te ves construyendo y usando una herramienta como esta? ¿Es usted un programador de VBA 4 excelentes sitios web para convertirse en un gurú de Visual Basic 4 excelentes sitios web para convertirlo en un gurú de Visual Basic ¿Quiere aprender Visual Basic? Aquí hay algunos recursos excelentes para comenzar. Lee más y has usado alguna vez clases de WMI? Comparte tus propias experiencias e ideas en la sección de comentarios a continuación.!

Créditos de imagen: Adriano Castelli a través de Shutterstock.com, Mclek a través de Shutterstock

Obtenga más información sobre: ​​Mantenimiento de computadoras, Microsoft Excel, Programación de Visual Basic.