Como ver todas as suas informações pc usando um script simples excel vba

Alguma vez você já precisava saber CPU ou de memória detalhes, serial ou modelo número do seu computador, ou instalado versões de software, mas não tinham certeza de onde procurar? Com apenas um pouco de código simples em Excel, você pode extrair uma biblioteca inteira de sua informações: Windows PC.

Você conseguiu o PC que você pediu? Descobrir com essas ferramentas Informações do sistema [Windows]Você conseguiu o PC que você pediu? Descobrir com essas ferramentas Informações do sistema [Windows]Você recentemente comprou um PC? Se sim, foi-lo personalizado? Por personalizado, quero dizer montado por uma loja de computador local, ou mesmo apenas por alguém que você sabe quem constrói e vende computadores. Se vocês...consulte Mais informação

Parece bom demais para ser verdade? Bem, isso é o Windows, se você sabe como usá-lo.

Você pode precisar para começar suas mãos um pouco sujo, mas neste artigo iremos fornecer-lhe com todo o código que você precisa, e como colocá-lo em Excel e fazê-lo funcionar. Assim que estiver pronto, você terá uma folha de Excel que, cada vez que você abri-lo, diz-lhe tudo o que você sempre quis saber sobre o seu sistema de computador.

Note que isto só irá funcionar com a versão desktop do Excel, que você pode começar com uma versão gratuita do Office.6 maneiras que você pode usar o Microsoft Office sem pagar por isso6 maneiras que você pode usar o Microsoft Office sem pagar por issoconsulte Mais informação

A Magia do WMI

Em qualquer computador com um sistema operativo Microsoft, você tem acesso a um poderoso conjunto de extensões chamado de Windows Management Instrumentation (WMI), que lhe fornece um método muito poderoso e extenso para acessar informações e especificações sobre o seu computador, sistema operacional, e instalado software.

wmiwindows

O melhor de tudo, o WMI está acessível da programação linguagens como VBA, disponível em quase todos os produtos Microsoft Office.Como escrever um script do Windows para alterar configurações de rede em tempo realComo escrever um script do Windows para alterar configurações de rede em tempo realEm muitos escritórios ou ambientes de trabalho, pode ser necessário redefinir as configurações de rede para se conectar a redes diferentes. Eu encontrei-me nesta situação muitas vezes, e fiquei tão cansada de navegar para o ...consulte Mais informação

Configurar sua planilha Automated

Primeiro, crie o seu novo livro do Excel e chamá-lo de algo como MyComputerInfo.xlsm (Macro activado). Abri-lo, pule Sheet1 e renomear os próximos 11 folhas da seguinte forma:

  • Rede
  • LogicalDisk
  • Processador
  • Memória física
  • Controlador de vídeo
  • OnBoardDevices
  • Sistema operacional
  • Impressora
  • Programas
  • contas
  • Serviços

Estes irão realizar todos os seus detalhes do computador, e serão atualizados a cada vez que você abrir esta planilha Excel.

wmi1

Em seguida, vá para o Desenvolvedor item de menu e sob o controles seção clique View Code.

wmi2

Se você não vê o item de menu Developer, clique em Arquivo gt; opções gt; Personalizar fita, mudar o Escolha comandos suspenso para Todos os Tabs, selecionar Desenvolvedor e pressione o Addgt; gt; botão para adicioná-lo para o lado da fita personalizada. Certifique-se a caixa de seleção desenvolvedor desse lado é selecionado, uma vez que você adicionou-lo.

wmi3

Uma vez que você está dentro do editor de código VBA, tudo que você tem a fazer é adicionar os scripts abaixo para um módulo. Esses scripts irá fazer todo o trabalho pesado. Você não tem que escrever este código você mesmo, basta copiar e colá-los em como mostrado abaixo.Monitorar se seus aplicativos VBA estão funcionando com este script SlickMonitorar se seus aplicativos VBA estão funcionando com este script Slickconsulte Mais informação

Assim que estiver pronto copiando e colando utilizando o código na próxima seção, tudo que você tem a fazer é adicionar um pouco mais de código para carregar suas folhas, e está feito.

Ok, pronto para copiar e colar? Vamos chegar a ele.

Construir seus módulos WMI

A inspiração para este código vem de uma fantástica Google Sites recurso chamado Beyond Excel. O exemplo mostrado há uma sub-rotina chamada WMI (), que passa todas as informações de rede do seu computador para a área de depuração do ambiente de programação Excel.

Claro, ele não faz-nos muito bom lá, então eu modificado o código para, em vez de saída de todos os detalhes para uma das folhas que você criou na primeira etapa deste guia.

Na área de navegação de codificação, você também verá uma seção chamada módulos e um componente sob chamada Módulo 1. Clique duas vezes nele para abri-lo. Se você não ver a pasta Modules, expanda Inserir a partir do menu e selecione Módulo.

wmi5

Esta área é onde todas as sub-rotinas será que vai usar WMI para puxar todas as informações importantes sobre o seu computador, e carregá-lo para as folhas que você criou.

Coloque as seguintes linhas no topo da janela de código por si só.

Público oWMISrvEx As Object `SWbemServicesExPublic oWMIObjSet As Object`SWbemServicesObjectSetPublic oWMIObjEx As Object `SWbemObjectExPublic oWMIProp As Object`SWbemPropertyPublic sWQL As String `WQL StatementPublic n

Deve olhar como este quando você está feito:

wmi5

Colar o seguinte código em Module1 sob as linhas que você acabou de criar:

sub NetworkWMI()sWQL = "SELECT * FROM Win32_NetworkAdapterConfiguration"definir oWMISrvEx = GetObject("winmgmts: root / CIMV2")definir oWMIObjSet = oWMISrvEx.ExecQuery(sWQL)intRow = 2strRow = Str(intRow)ThisWorkbook.Sheets("Rede").Alcance("A1").Valor = "Nome"ThisWorkbook.Sheets("Rede").células(1, 1).Font.Bold = TrueThisWorkbook.Sheets("Rede").Alcance("B1").Valor = "Valor"ThisWorkbook.Sheets("Rede").células(1, 2).Font.Bold = TrueFor Cada oWMIObjEx Em oWMIObjSetFor Cada oWMIProp Em oWMIObjEx.Properties_If Not IsNull(oWMIProp.Value) ThenIf IsArray(oWMIProp.Value) ThenFor n = LBound(oWMIProp.Value) para UBound(oWMIProp.Value)Debug.Print oWMIProp.Name & "(" & n & ")", oWMIProp.Value(n)ThisWorkbook.Sheets("Rede").Alcance("UMA" & aparar(strRow)).Valor = oWMIProp.NameThisWorkbook.Sheets("Rede").Alcance("B" & aparar(strRow)).Valor = oWMIProp.Value(n)ThisWorkbook.Sheets("Rede").Alcance("B" & aparar(strRow)).Alinhamento horizontal = xlLeftintRow = intRow + 1strRow = Str(intRow)NextElseThisWorkbook.Sheets("Rede").Alcance("UMA" & aparar(strRow)).Valor = oWMIProp.NameThisWorkbook.Sheets("Rede").Alcance("B" & aparar(strRow)).Valor = oWMIProp.ValueThisWorkbook.Sheets("Rede").Alcance("B" & aparar(strRow)).Alinhamento horizontal = xlLeftintRow = intRow + 1strRow = Str(intRow)Acabar IfEnd IfNext`End IfNextEnd Sub

Agora, você está indo para criar uma função idêntica a esta em cada folha que você criou na primeira parte deste guia com algumas pequenas diferenças.

Por exemplo, na próxima você deve copiar esse código acima para NetworkWMI (), colá-lo por baixo da extremidade do referido código e, em seguida substituir “NetworkWMI ()” com “LogicalDiskWMI ()”

Há apenas algumas seções você precisa mudar para que este código preenche a folha correta.

Mude isso:

sWQL = "SELECT * FROM Win32_NetworkAdapterConfiguration"

Para isso:



sWQL = "SELECT * FROM Win32_LogicalDisk"

Alterar estas quatro linhas:

ThisWorkbook.Sheets("Rede").Alcance("A1").Valor = "Nome"ThisWorkbook.Sheets("Rede").células(1, 1).Font.Bold = TrueThisWorkbook.Sheets("Rede").Alcance("B1").Valor = "Valor"ThisWorkbook.Sheets("Rede").células(1, 2).Font.Bold = Verdade

Para isso:

ThisWorkbook.Sheets("LogicalDisk").Alcance("A1").Valor = "Nome"ThisWorkbook.Sheets("LogicalDisk").células(1, 1).Font.Bold = TrueThisWorkbook.Sheets("LogicalDisk").Alcance("B1").Valor = "Valor"ThisWorkbook.Sheets("LogicalDisk").células(1, 2).Font.Bold = Verdade

Alterar estas duas linhas:

ThisWorkbook.Sheets("Rede").Alcance("UMA" & aparar(strRow)).Valor = oWMIProp.NameThisWorkbook.Sheets("Rede").Alcance("B" & aparar(strRow)).Valor = oWMIProp.Value(n)

Para isso:

ThisWorkbook.Sheets("LogicalDisk").Alcance("UMA" & aparar(strRow)).Valor = oWMIProp.NameThisWorkbook.Sheets("LogicalDisk").Alcance("B" & aparar(strRow)).Valor = oWMIProp.Value(n)

E estas três linhas:

ThisWorkbook.Sheets("Rede").Alcance("UMA" & aparar(strRow)).Valor = oWMIProp.NameThisWorkbook.Sheets("Rede").Alcance("B" & aparar(strRow)).Valor = oWMIProp.ValueThisWorkbook.Sheets("Rede").Alcance("B" & aparar(strRow)).Alinhamento horizontal = xlLeft

Para isso:

ThisWorkbook.Sheets("LogicalDisk").Alcance("UMA" & aparar(strRow)).Valor = oWMIProp.NameThisWorkbook.Sheets("LogicalDisk").Alcance("B" & aparar(strRow)).Valor = oWMIProp.ValueThisWorkbook.Sheets("LogicalDisk").Alcance("B" & aparar(strRow)).Alinhamento horizontal = xlLeft

Agora, você está quase terminado!

Repita os passos acima para cada guia no livro. As funções será como se segue:

  • “ProcessorWMI ()” para a folha de “Processador”.
  • “PhysicalMemWMI ()” para a “memória física” folha.
  • “VideoControlWMI ()” para a folha “Video Controller”.
  • “OnBoardWMI ()” para a “OnBoardDevices” folha.
  • “PrinterWMI ()” para a folha “Impressora”.
  • “OperatingWMI ()” para a folha de Sistema Operacional.
  • “SoftwareWMI ()” para a folha de “Software”.
  • “ServicesWMI ()” para a folha de “Serviços”.

Os especiais objetos “Win32_” você precisa usar para acessar essas informações sobre o seu computador são as seguintes:

  • Win32_NetworkAdapterConfiguration - Todas as suas definições de configuração de rede
  • Win32_LogicalDisk - Discos com capacidade e espaço livre.
  • Win32_Processor - Especificações CPU
  • Win32_PhysicalMemoryArray - RAM / tamanho da memória instalada
  • Win32_VideoController - adaptador e configurações gráficas
  • Win32_OnBoardDevice - dispositivos placa-mãe
  • Win32_OperatingSystem - Qual versão do Windows com número de série
  • Impressoras instaladas - Win32_Printer
  • Win32_Product - Instalado Software
  • Win32_BaseService - serviços lista de execução (ou parado) em qualquer PC, juntamente com o caminho eo nome do arquivo do serviço.

Termine copiar / colar e aprimorando cada uma dessas funções no Módulo 1 área do código. Quando estiver pronto, passe para a próxima seção deste guia.

Lembre-se de salvar o seu código na vista VB! Se você inicialmente salva sua pasta de trabalho com o .xls tipo de arquivo, o Excel irá agora pedir-lhe para usar uma macro habilitado tipo de arquivo, como .xlsm.

Carregando automaticamente o livro

Agora que você tem todas essas funções poderosas criadas, tudo o que resta é para executá-los cada vez que o livro é aberto. Fazer isso é muito fácil.

No navegador de objetos à esquerda, sob Microsoft Excel Objects, Você deveria ver ThisWorkbook. Dê um duplo clique no objeto para abri-lo.

wmi6

No topo da área de código, há duas caixas suspensas, altere a ninguém para livro eo direito um para Aberto.

wmi7

Você verá uma função gerada automaticamente para você chamado Private Sub Workbook_Open ().

Dentro aqui, digite o seguindo as linhas de código assim que a função se parece com isso:

Private Sub Workbook_Open()NetworkWMILogicalDiskWMIProcessorWMIPhysicalMemWMIVideoControlWMIOnBoardWMIPrinterWMISoftwareWMIOperatingWMIServicesWMIEnd Sub

Agora, cada vez que você abrir o livro, cada uma de suas funções recém-criado será chamado, puxar todos os dados a partir do computador, e carregá-lo para a folha apropriada.Visualize seus dados & Faça seu usuário Spreadsheets amigável Com um painel de ExcelVisualize seus dados & Faça seu usuário Spreadsheets amigável Com um painel de ExcelÀs vezes, um formato de planilha simples, não é interessante o bastante para tornar acessíveis seus dados. Um painel permite-lhe apresentar os seus dados mais importantes em um formato fácil de digerir.consulte Mais informação

Para vê-lo em ação, salve o código, feche a janela de código, guardar o livro, e perto disso também. Re-abra o arquivo que acabou de fechar, e você vai descobrir que cada folha única detém volumes de dados sobre o seu computador.

Desde que o livro contém macros, que podem ser desativados por motivos de segurança, você pode ter que clicar Ativar conteúdo na parte superior da folha de dados a serem recolhidos.

Aviso - que recolhe muitos dados, por isso esperamos que esperar alguns minutos para que ele seja carregado quando você abre o arquivo.

Coleta de Informações sobre o computador

A coisa surpreendente sobre como utilizar WMI para isso é que os dados acima é apenas a ponta do iceberg. Existem centenas mais classes WMI disponíveis que contêm informações sobre todos os aspectos do seu sistema informático.

Se você fosse aventureiro e queria levar isso um passo adiante, você pode transformar a primeira folha do livro em um painel, e utilizar os dados das outras folhas para alimentar que painel.Construa seu próprio painel clima nesta Master Class planilha do GoogleConstrua seu próprio painel clima nesta Master Class planilha do GoogleVocê gostaria de transformar sua conta Google Drive em um sistema de análise de tempo inteligente e viver uma fantasia Star Trek? Está bem!consulte Mais informação

A linha inferior é que a utilização desta nova ferramenta, você vai ser capaz de coletar e exibir mais informações do que a maioria dos especialistas de TI mesmo realizar está disponível sobre um sistema de computador, e você vai ser capaz de fazê-lo em uma fração do tempo esses mesmos especialistas passar cavando através do painel de controle e áreas administrativas procuram esses detalhes.

Você se vê construindo e usando uma ferramenta como esta? É programador VBA e você já usou classes WMI? Compartilhe suas próprias experiências e idéias na seção de comentários abaixo!


Artigos relacionados