Bonjour,
Je voudrais savoir s'il est possible (a mon avis oui, mais je n'ai pas les connaissances pour le faire) d'écrire dans un fichier Excel à la suite de données déjà écrites dans ce même fichier.
Je voudrais prendre des infos dans la base WMI
► Afficher le texte
Code : Tout sélectionner
;detection d'information dans la base WMI
;Marque / Model et nom et taille mémoire du PC
$valeur=""
$objWMIService = ObjGet("winmgmts:\\localhost\root\CIMV2")
$colItems = $objWMIService.ExecQuery("Select * from Win32_ComputerSystem", "WQL")
If IsObj($colItems) then
For $objItem In $colItems
Msgbox(0,"Marque",$objItem.Manufacturer)
Msgbox(0,"Type",$objItem.Model)
Msgbox(0,"nom",$objItem.Name)
Msgbox(0,"Taille mémoire",$objItem.TotalPhysicalMemory)
next
Endif
;Nom de l'OS
$colItems = $objWMIService.ExecQuery("Select * from Win32_OperatingSystem", "WQL")
If IsObj($colItems) then
For $objItem In $colItems
Msgbox(0,"OS",$objItem.Caption)
next
Endif
;Info sur le proc
$colItems = $objWMIService.ExecQuery("Select * from Win32_Processor", "WQL")
If IsObj($colItems) then
For $objItem In $colItems
Msgbox(0,"Type proc",$objItem.Name)
Msgbox(0,"Vitesse proc",$objItem.CurrentClockSpeed)
next
Endif
;Info sur le disque dur
$colItems = $objWMIService.ExecQuery("Select * from Win32_DiskDrive", "WQL")
If IsObj($colItems) then
For $objItem In $colItems
Msgbox(0,"Taille HDD",$objItem.Size)
next
Endif
Pour le moment, ça sort dans une boite de dialogue. J'ai donc un fichier déjà créé avec des données dedans. Il faudrait ne pas écraser ces données et mettre certaines données dans certaines cases.
J'ai par exemple la 1ere ligne (426) vide, et j'ai, par exemple, le nom du PC en colonne A la marque du PC en colonne F etc.. Les colonnes ne bouges pas, mais ce sont les lignes ou il faudrait prendre la 1ere qui est vide.
J'espère avoir été assez clair, si il y a quelque chose que vous comprenez pas, dites moi j'essaierais d'être plus clair.
Merci beaucoup.