VBScript to excel
servietsky777
Messages postés
189
Date d'inscription
Statut
Membre
Dernière intervention
-
michel_m Messages postés 16602 Date d'inscription Statut Contributeur Dernière intervention -
michel_m Messages postés 16602 Date d'inscription Statut Contributeur Dernière intervention -
Hello,
Je veux créer un programme qui récupère toutes les imprimantes d'un serveur et qui les écrits dans une page excel. J'ai réussi à faire la base, mais ma variable contient les noms de chaque imprimantes et je ne sais pas comment écrire un nom par cellule.
Voilà le code (j'ai fait quelque copier coller depuis internet). :
'Variable : Counter
Dim Print_Count
Print_Count = 0
'Target (. for local)
strComputer = "." 'Ici je ressort les imprimantes en local.
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colPrinters = objWMIService.ExecQuery("Select * From Win32_Printer")
For Each objPrinter in colPrinters
If objPrinter.Attributes And 64 Then
strPrinterType = "Local"
Else
strPrinterType = "Network"
End If
chemin= "Local printers.XLS"
Set fso = CreateObject("Scripting.FileSystemObject" )
Set Fic = fso.CreateTextFile(chemin, True)
' Titres des colonnes
' chr (34) remplace les guillements à la suite de l'instruction
Fic.writeLine "ID;PWXL;N;E" ' Début du codage excel
Fic.writeLine "C;Y1;X1;K" & CHR(34) & (objPrinter.Name & " -- " & strPrinterType) & CHR(34)
Fic.writeLine "C;Y1;X2;K" & CHR(34) & (objPrinter.Name & " -- " & strPrinterType) & CHR(34)
Fic.writeLine "E" ' Fin du codage excel
Fic.Close
Set Fic = Nothing
Set fso = Nothing
Print_Count = Print_Count + 1
Next
'Wscript.Echo Print_count
Je veux créer un programme qui récupère toutes les imprimantes d'un serveur et qui les écrits dans une page excel. J'ai réussi à faire la base, mais ma variable contient les noms de chaque imprimantes et je ne sais pas comment écrire un nom par cellule.
Voilà le code (j'ai fait quelque copier coller depuis internet). :
'Variable : Counter
Dim Print_Count
Print_Count = 0
'Target (. for local)
strComputer = "." 'Ici je ressort les imprimantes en local.
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colPrinters = objWMIService.ExecQuery("Select * From Win32_Printer")
For Each objPrinter in colPrinters
If objPrinter.Attributes And 64 Then
strPrinterType = "Local"
Else
strPrinterType = "Network"
End If
chemin= "Local printers.XLS"
Set fso = CreateObject("Scripting.FileSystemObject" )
Set Fic = fso.CreateTextFile(chemin, True)
' Titres des colonnes
' chr (34) remplace les guillements à la suite de l'instruction
Fic.writeLine "ID;PWXL;N;E" ' Début du codage excel
Fic.writeLine "C;Y1;X1;K" & CHR(34) & (objPrinter.Name & " -- " & strPrinterType) & CHR(34)
Fic.writeLine "C;Y1;X2;K" & CHR(34) & (objPrinter.Name & " -- " & strPrinterType) & CHR(34)
Fic.writeLine "E" ' Fin du codage excel
Fic.Close
Set Fic = Nothing
Set fso = Nothing
Print_Count = Print_Count + 1
Next
'Wscript.Echo Print_count
A voir également:
- VBScript to excel
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Déplacer colonne excel - Guide
- Qwerty to azerty - Guide
- Si ou excel - Guide
5 réponses
ça crée le fichier excel et ça insère dans la première cellule toutes les imprimantes. Mais il faudrait que ça insère un nom pour une cellule.
Bonjour,
directement dans un fichier Excel sur le serveur (évite l'étape .txt)
directement dans un fichier Excel sur le serveur (évite l'étape .txt)
Sub lister_imprimante() Dim strcomputer As String Dim objetWMI As Object Dim imprimantesdispo As Object Dim imprimante As Object Dim lig As Byte strcomputer = "." 'on ne travaille que sur ce poste 'activation WMI pour Windows Set objetWMI = GetObject("winmgmts:" _ & "{impersonationLevel=impersonate}!\\" & strcomputer & "\root\cimv2") 'liste les drivers imprimantes installés sur le poste Set imprimantesdispo = objetWMI.ExecQuery _ ("Select * from Win32_Printer") lig = 1 For Each imprimante In imprimantesdispo Cells(lig, 1) = imprimante.Name If imprimante.Default Then Range("D1") = "imprimante active: " & imprimante.Name End If lig = lig + 1 Next End Sub
Pourrais tu me donner le code entier qui marche que je doive juste le rentrer dans le programme. Je ne connais vraiment pas bien le vbscript alors si tu me donnes des bou de code, je ne saurai pas où les mettre.
Merci
Merci
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour
Très sympa de ta part:
Pourrais tu me donner le code entier qui marche que je doive juste le rentrer dans le programme. Je ne connais vraiment pas bien le vbscript alors si tu me donnes des bou de code, je ne saurai pas où les mettre.
le code est entier ,complet, il a été testé avant de le proposer.
Bref! quand tu sais pas, ce sont forcément les autres qui foirent !!!
dans le fichier Excel: Alt+F11 t"amène dans l'éditeur VBA
insertion module-
tu copies-colles ce code
pour déclencher:
options-personnaliser-barre d'outils- formulaire
tu dessines un bouton et l'affectes à la macro
Très sympa de ta part:
Pourrais tu me donner le code entier qui marche que je doive juste le rentrer dans le programme. Je ne connais vraiment pas bien le vbscript alors si tu me donnes des bou de code, je ne saurai pas où les mettre.
le code est entier ,complet, il a été testé avant de le proposer.
Bref! quand tu sais pas, ce sont forcément les autres qui foirent !!!
dans le fichier Excel: Alt+F11 t"amène dans l'éditeur VBA
insertion module-
tu copies-colles ce code
pour déclencher:
options-personnaliser-barre d'outils- formulaire
tu dessines un bouton et l'affectes à la macro