Cómo ver sus datos de pc a través de un simple script excel vba

¿Alguna vez se necesita saber el número de CPU o memoria datos, serie o modelo de su ordenador, o versiones de software instalado, pero no estaban seguros de dónde buscar? Con sólo un poco de código simple en Excel, puede extraer toda una biblioteca de su información de Windows PC.Se le ocurrió la PC que pidió? Averiguar con estas herramientas de información del sistema [Windows]Se le ocurrió la PC que pidió? Averiguar con estas herramientas de información del sistema [Windows]¿Ha comprado recientemente un PC? Si es así, se lo había modificado? Por personalizado, me refiero reunidos por una tienda de equipo local, o incluso sólo por alguien que conoce que construye y vende ordenadores. Si tu...Lee mas

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

Es posible que necesite para conseguir sus manos un poco sucio, pero en este artículo le proporcionará todo el código que necesita, y la forma de ponerla en Excel y hacer que funcione. Una vez que haya terminado, tendrá una hoja de cálculo de Excel que, cada vez que lo abra, contiene todo lo que siempre quiso saber sobre su sistema informático.

Tenga en cuenta que esto sólo funcionará con la versión de escritorio de Excel, que se puede obtener con una prueba gratuita de Oficina.6 maneras de utilizar Microsoft Office sin pagar por ella6 maneras de utilizar Microsoft Office sin pagar por ellaLee mas

La magia de WMI

En cualquier equipo que ejecuta un sistema operativo de Microsoft, usted tiene acceso a un potente conjunto de extensiones de llamada Windows (WMI), lo que le proporciona un método muy potente y extensa acceder a la información y especificaciones sobre su ordenador, sistema operativo, e instalado el software.

wmiwindows

Lo mejor de todo, la WMI es accesible de la programación lenguajes como VBA, disponible en casi todos los productos de Microsoft Office.Cómo escribir una secuencia de comandos de Windows para cambiar los ajustes de red sobre la marchaCómo escribir una secuencia de comandos de Windows para cambiar los ajustes de red sobre la marchaA oficinas y entornos de trabajo muchos, puede que tenga que redefinir la configuración de red para conectarse a diferentes redes. Me encontré en esta situación con la suficiente frecuencia, y puse tan cansado de navegar a la ...Lee mas

Configuración de la hoja de cálculo automatizado

En primer lugar, crear un nuevo libro de Excel y lo llaman algo así como MyComputerInfo.xlsm (Macro activado). Abrirlo, vaya Hoja1, y cambiar el nombre de los siguientes 11 hojas de la siguiente manera:

Vídeo: Como abrir una carpeta con VBA en Excel - Capítulo 229

  • Red
  • DiscoLógico
  • Procesador
  • Memoria física
  • controlador de vídeo
  • Dispositivos a bordo
  • Sistema operativo
  • Impresora
  • Software
  • cuentas
  • Servicios

Estos mantendrá la totalidad de sus datos informáticos, y se actualizarán cada vez que abra la hoja de cálculo Excel.

wmi1

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

wmi2

Si no ve la opción de menú Programador, haga clic en Archivo gt; opciones gt; Personalizar la cinta, cambiar el Elegir comandos desplegable para todos aquí, seleccionar Desarrollador y pulse el Addgt; gt; botón para añadir a un lado de la cinta personalizada. Asegúrese de que se selecciona la casilla de verificación desarrollador de ese lado, una vez que ha añadido la misma.

wmi3

Una vez que estás dentro de la Editor de código VBA, todo lo que tiene que hacer es añadir los guiones a continuación a un módulo. Estos scripts hacer todo el trabajo pesado. Usted no tiene que escribir el código usted mismo, sólo copiar y pegar en como se muestra a continuación.Si monitorear Su Aplicaciones VBA está ejecutando con este script SlickSi monitorear Su Aplicaciones VBA está ejecutando con este script SlickLee mas

Una vez que haya terminado de copiar y pegar utilizando el código en la sección siguiente, todo lo que tiene que hacer es añadir un poco más de código para cargar sus hojas, y ya está.

Está bien, listo para copiar y pegar? Hagámoslo.

La construcción de los módulos WMI

La inspiración para este código proviene de una fantástica Google Sites recurso llamado Más allá de Excel. El ejemplo que se muestra hay una subrutina llamada WMI (), que pasa a toda la información de la red de su ordenador a la zona de depuración del entorno de programación de Excel.

Por supuesto, no nos hace mucho bien allí, así que he modificado el código de salida en lugar de todos los detalles de una de las hojas que se han creado 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 de bajo llama Módulo 1. Haga doble clic en este para abrirlo. Si no ve la carpeta de módulos, ampliar Insertar en el menú y seleccione Módulo.

wmi5

Esta zona es donde todas las subrutinas habrá que va a utilizar WMI para tirar toda la información importante acerca de su ordenador, y cargarlo en las hojas que ha creado.

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

oWMISrvEx pública como objeto `SWbemServicesExPublic oWMIObjSet como objeto`SWbemServicesObjectSetPublic oWMIObjEx como objeto `SWbemObjectExPublic oWMIProp como objeto`SWbemPropertyPublic sWQL As String `WQL StatementPublic n

Se debe tener este aspecto cuando haya terminado:

wmi5

Pegar el siguiente código en el módulo 1 por debajo de las líneas que acaba de crear:

Vídeo: Listar Archivos desde una Carpeta a Excel | VBA Excel 2013 #21

Sub NetworkWMI()sWQL = "SELECT * FROM Win32_NetworkAdapterConfiguration"Establecer oWMISrvEx = GetObject("winmgmts: root / CIMV2")Establecer oWMIObjSet = oWMISrvEx.ExecQuery(sWQL)intRow = 2strRow = str(intRow)ThisWorkbook.Sheets("Red").Distancia("A1").Valor = "Nombre"ThisWorkbook.Sheets("Red").Células(1, 1).Negrita = TrueThisWorkbook.Sheets("Red").Distancia("B1").Valor = "Valor"ThisWorkbook.Sheets("Red").Células(1, 2).Negrita = Cada TrueFor oWMIObjEx En oWMIObjSetFor Cada oWMIProp En oWMIObjEx.Properties_If No EsNulo(oWMIProp.Value) ThenIf IsArray(oWMIProp.Value) ThenFor n = LBound(oWMIProp.Value) para UBound(oWMIProp.Value)Debug.Print oWMIProp.Name & "(" & norte & ")", oWMIProp.Value(norte)ThisWorkbook.Sheets("Red").Distancia("UN" & Recortar(strRow)).Valor = oWMIProp.NameThisWorkbook.Sheets("Red").Distancia("segundo" & Recortar(strRow)).Valor = oWMIProp.Value(norte)ThisWorkbook.Sheets("Red").Distancia("segundo" & Recortar(strRow)).Alineación horizontal = xlLeftintRow = intRow + 1strRow = str(intRow)NextElseThisWorkbook.Sheets("Red").Distancia("UN" & Recortar(strRow)).Valor = oWMIProp.NameThisWorkbook.Sheets("Red").Distancia("segundo" & Recortar(strRow)).Valor = oWMIProp.ValueThisWorkbook.Sheets("Red").Distancia("segundo" & Recortar(strRow)).Alineación horizontal = xlLeftintRow = intRow + 1strRow = str(intRow)Terminar IfEnd IfNext`End IfNextEnd Sub

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

Por ejemplo, la próxima que copia el código de arriba para NetworkWMI (), pegarlo debajo del final de ese código, y luego vuelva a colocar “NetworkWMI ()” por “LogicalDiskWMI ()”

Hay sólo unas pocas secciones que necesita cambiar para que este código se llena en la hoja correcta.

Cambia esto:

sWQL = "SELECT * FROM Win32_NetworkAdapterConfiguration"

A esto:

sWQL = "SELECT * FROM Win32_LogicalDisk"

Cambiar estas cuatro líneas:

ThisWorkbook.Sheets("Red").Distancia("A1").Valor = "Nombre"ThisWorkbook.Sheets("Red").Células(1, 1).Negrita = TrueThisWorkbook.Sheets("Red").Distancia("B1").Valor = "Valor"ThisWorkbook.Sheets("Red").Células(1, 2).Negrita = Cierto

A esto:

ThisWorkbook.Sheets("DiscoLógico").Distancia("A1").Valor = "Nombre"ThisWorkbook.Sheets("DiscoLógico").Células(1, 1).Negrita = TrueThisWorkbook.Sheets("DiscoLógico").Distancia("B1").Valor = "Valor"ThisWorkbook.Sheets("DiscoLógico").Células(1, 2).Negrita = Cierto

Cambiar estas dos líneas:

ThisWorkbook.Sheets("Red").Distancia("UN" & Recortar(strRow)).Valor = oWMIProp.NameThisWorkbook.Sheets("Red").Distancia("segundo" & Recortar(strRow)).Valor = oWMIProp.Value(norte)

A esto:

ThisWorkbook.Sheets("DiscoLógico").Distancia("UN" & Recortar(strRow)).Valor = oWMIProp.NameThisWorkbook.Sheets("DiscoLógico").Distancia("segundo" & Recortar(strRow)).Valor = oWMIProp.Value(norte)

Y estas tres líneas:

ThisWorkbook.Sheets("Red").Distancia("UN" & Recortar(strRow)).Valor = oWMIProp.NameThisWorkbook.Sheets("Red").Distancia("segundo" & Recortar(strRow)).Valor = oWMIProp.ValueThisWorkbook.Sheets("Red").Distancia("segundo" & Recortar(strRow)).Alineación horizontal = xlLeft

A esto:

ThisWorkbook.Sheets("DiscoLógico").Distancia("UN" & Recortar(strRow)).Valor = oWMIProp.NameThisWorkbook.Sheets("DiscoLógico").Distancia("segundo" & Recortar(strRow)).Valor = oWMIProp.ValueThisWorkbook.Sheets("DiscoLógico").Distancia("segundo" & Recortar(strRow)).Alineación horizontal = xlLeft

Ahora, ya está casi terminado!

Repita el procedimiento anterior para cada pestaña en su libro. Las funciones serán las siguientes:

  • “ProcessorWMI ()” para la hoja de “procesador”.
  • “PhysicalMemWMI ()” para la hoja de “Memoria física”.
  • “VideoControlWMI ()” para la hoja de “Controlador de vídeo”.
  • “OnBoardWMI ()” para la hoja de “OnBoardDevices”.
  • “PrinterWMI ()” para la hoja de “Impresora”.
  • “OperatingWMI ()” para la hoja de sistema operativo.
  • “SoftwareWMI ()” para la hoja de “software”.
  • “ServicesWMI ()” para la hoja de “Servicios”.

Los objetos especiales “Win32_”, hay que utilizar para acceder a esta información sobre su equipo son los siguientes:

  • Win32_NetworkAdapterConfiguration - Todos los valores de configuración de red
  • Win32_LogicalDisk - Los discos con capacidades y el espacio libre.
  • Win32_Processor - Especificaciones de CPU
  • Win32_PhysicalMemoryArray - RAM / Tamaño de la memoria instalada
  • Win32_VideoController - adaptador gráfico y ajustes
  • Win32_OnBoardDevice - dispositivos de la placa
  • Win32_OperatingSystem - ¿Qué versión de Windows con el número de serie
  • Impresoras instaladas - WIN32_Printer
  • Win32_Product - Software instalado
  • Win32_BaseService - servicios de lista actualizada (o parada) en cualquier PC junto con la ruta y el nombre del servicio.

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

Recuerde guardar el código en la vista VB! Si en un inicio se guardó el libro con el .xls tipo de archivo, Excel ahora pedirle que utilice una macro permitido tipo de archivo, tales como .xlsm.

Cargando automáticamente el libro de trabajo

Ahora que tiene todas esas potentes funciones creadas, lo único que queda es que se les ejecute cada vez que se abre el libro. Hacer esto es muy fácil.

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

wmi6

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

wmi7

Verás una función generada automáticamente por usted llama Private Sub Workbook_Open ().

Dentro de aquí, escriba el siguientes líneas de código por lo que la función tiene el siguiente aspecto:

Private Sub Workbook_Open()NetworkWMILogicalDiskWMIProcessorWMIPhysicalMemWMIVideoControlWMIOnBoardWMIPrinterWMISoftwareWMIOperatingWMIServicesWMIEnd Sub

Ahora, cada vez que se abre el libro, cada una de las funciones de nueva creación se llamará, tirar de todos los datos desde el ordenador, y cargarlo en la hoja adecuada.Visualizar los datos & Haga su usuario amistoso con hojas de cálculo de Excel Un tablero de instrumentosVisualizar los datos & Haga su usuario amistoso con hojas de cálculo de Excel Un tablero de instrumentosA veces, un formato simple hoja de cálculo no es lo suficientemente atractivo para que sus datos sean accesibles. Un tablero de control le permite presentar sus datos más importantes en un formato fácil de digerir.Lee mas

Para verlo en acción, guardar el código, cierre la ventana de código, guardar el libro, y cerca también. Vuelva a abrir el archivo que acaba de cerrar, y descubrirá que cada hoja tiene un solo volumen de datos acerca de la computadora.

Puesto que el libro contiene macros, que pueden ser desactivados por razones de seguridad, es posible que tenga que hacer clic Contenido disponible en la parte superior de la hoja para los datos que deben recogerse.

Advertencia - que recoge una gran cantidad de datos, por lo que esperan que esperar unos minutos a que se cargue la primera vez que abra el archivo.

Recopilar información del

Lo más sorprendente sobre el uso de WMI de esto es que los datos arriba son sólo la punta del iceberg. Hay cientos más clases WMI disponibles que contienen información sobre todos los aspectos de su sistema informático.

Si se va de aventuras y quería llevar esto un paso más allá, se puede girar la primera hoja del libro de trabajo en un tablero de mandos, y utilizar los datos de las otras hojas para alimentar a que salpicadero.Construir su propio tablero de instrumentos clima en esta Master Class de hoja de cálculo GoogleConstruir su propio tablero de instrumentos clima en esta Master Class de hoja de cálculo Google¿Le gustaría convertir su cuenta de Google Drive en un sistema de análisis de tiempo inteligente, y vivir una fantasía de Star Trek? ¡De acuerdo!Lee mas

La conclusión es que el uso de esta nueva herramienta, usted será capaz de recoger y mostrar más información de la que la mayoría de los expertos en TI se dan cuenta de que es disponible de un sistema informático, y serás capaz de hacerlo en una fracción del tiempo que esos mismos expertos pasan a cavar a través del panel de control y áreas administrativas en busca de esos detalles.

¿Se ve la construcción y el uso de una herramienta como esta? Eres un programador de VBA Y alguna vez ha usado clases WMI? Compartir sus propias experiencias e ideas en la sección de comentarios!

Artículos Relacionados