Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   Ofimática (http://www.forosdelweb.com/f90/)
-   -   Macro de Excel y Consulta WMI (http://www.forosdelweb.com/f90/macro-excel-consulta-wmi-582600/)

hwasp 03/05/2008 13:29

Macro de Excel y Consulta WMI
 
Hola a todos,

Tengo en mente una idea y antes de nada quería saber si alguien me podía confirmar si es posible. En primer lugar decir que tengo conocimientos muy básicos de lo que son las macros de Excel y que sé programar un poco en VB, pero nada más.

El caso es que tengo un inventario de PC's y me gustaría que en una celda saliese el valor resultante de hacer una consulta wmi sobre el espacio en disco a un PC remoto determinado.

El código para la consulta WMI ya lo conozco pero me faltan los conocimientos de como incluirlo en excel para que el resultado se visualize en una celda...

Cualquier ayuda sería de agradecer...

Un saludo y gracias por adelantado.

Foxi 06/05/2008 05:08

Re: Macro de Excel y Consulta WMI
 
¿Espacio en disco? ¿Utilizado, Libre o Total?
Te doy una idea para obtener el espacio libre en disco a partir de un directorio: Añade esta función en el código VB del proyecto de Excel:

(Comprueba que añades la referencia "Microsoft Scripting Runtime")

Código:



'********************************************************************************
'Nombre: lObtenerEspacioLibreUnidad
'Descripción: Obtiene el espacio libre de la unidad correspondiente al directorio
'              recibido como parámetro en Kbytes:
'              Si no existe devuelve -2.
'              Si se produce algún error devuelve -3.
'Referencias utilizadas: "Microsoft Scripting Runtime".
'Fecha: 09/06/2005
'********************************************************************************
Function lObtenerEspacioLibreUnidad(v_sDirectorio As String) As Long
Dim fso As New FileSystemObject
Dim fldrCarpeta As Folder
Dim TamanoEnBytes
   
    On Error GoTo Error_Espacio_Libre
   
    ' Si el texto del directorio no temina con "\", lo añado:
    If (Right(v_sDirectorio, 1) <> "\") Then
        v_sDirectorio = v_sDirectorio + "\"
    End If
   
    ' Se comprueba que el directorio exista.
    If (Dir(v_sDirectorio) = "") Then
        lObtenerEspacioLibreUnidad = -2
    Else
       
        Set fldrCarpeta = fso.GetFolder(v_sDirectorio)
       
        ' Se obtiene el espacio libre en bytes.
        TamanoEnBytes = fldrCarpeta.Drive.FreeSpace
       
        ' Se devuelve el tamaño en Kbytes.
        lObtenerEspacioLibreUnidad = CLng(TamanoEnBytes / 1024)
       
    End If
   
    Exit Function
   
Error_Espacio_Libre:
    lObtenerEspacioLibreUnidad = -3
End Function

Y lo llamas con un procedimiento (que a su vez podrás verlo en las macros de Excel) como éste:

Código:


Sub Espacio_Libre()
    ActiveCell.FormulaR1C1 = CStr(lObtenerEspacioLibreUnidad("C:\"))
End Sub

Cambia de este procedimiento lo que te haga falta (como la dirección de un directorio existente en una máquina remota, o la selección de una celda concreta antes de actualizar el valor devuelto...).

A ver si te vale: saludos, Foxi.

vince_and_tmac 04/09/2008 07:22

Respuesta: Macro de Excel y Consulta WMI
 
Buenos Días, estoy tratando de realizar esto y no he podido mucho ayuda con esto por favor

Foxi 04/09/2008 07:56

Respuesta: Macro de Excel y Consulta WMI
 
¿Has incluido la referencia "Microsoft Scripting Runtime"?

vince_and_tmac 04/09/2008 14:51

Respuesta: Macro de Excel y Consulta WMI
 
Disculpa pero es que soy muy nuevo en esto y estoy empezando en el area de base de datos... lo que yo quiero es obtener desde un archivo excel los espacio disponibles de cuatro servidores y no hay actualizar esta informacion manualmente...

gracias por la ayuda que me puedas prestar


La zona horaria es GMT -6. Ahora son las 23:52.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.