Bonjour,
J'ai cherché et cherché sans succès.
J'aurais besoin de modifier modifier l,imprimante par défaut du panneau de configuration.
Quel serait le bon code?
Merci à l'avance.
12 janvier 2024
Bonjour,
J'ai cherché et cherché sans succès.
J'aurais besoin de modifier modifier l,imprimante par défaut du panneau de configuration.
Quel serait le bon code?
Merci à l'avance.
Le contenu signalé a été envoyé
Bonjour,
Un exemple :
'-----------------------------------------
Sub test()
'Nom de l'imprimante tel qu'écrit dans le panneau
'de configuration de Windows
Call Imprimante_Par_Défaut("HP Deskjet 930c/932c/935c")
End Sub
'-----------------------------------------
Sub Imprimante_Par_Défaut(Nom_Imprimante As String)
Dim strComputer As String, objWMIService As Object
Dim colInstalledPrinters As Object, objPrinter As Object
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colInstalledPrinters = objWMIService.ExecQuery _
("Select * from Win32_Printer Where Name = '" & Nom_Imprimante & "'")
For Each objPrinter In colInstalledPrinters
objPrinter.SetDefaultPrinter
Next
End Sub
'-----------------------------------------
MichD
---------------------------------------------------------------
Le contenu signalé a été envoyé
Cette réponse vous a-t-elle été utile ?
Nous sommes désolés de ne pas avoir pu vous aider.
Super ! Merci de vos commentaires.
Êtes-vous satisfait de cette réponse ?
Nous vous remercions de vos commentaires qui nous aideront à améliorer le site.
Êtes-vous satisfait de cette réponse ?
Merci de vos commentaires.
Le contenu signalé a été envoyé
Cette réponse vous a-t-elle été utile ?
Nous sommes désolés de ne pas avoir pu vous aider.
Super ! Merci de vos commentaires.
Êtes-vous satisfait de cette réponse ?
Nous vous remercions de vos commentaires qui nous aideront à améliorer le site.
Êtes-vous satisfait de cette réponse ?
Merci de vos commentaires.
Bonjour,
Merci...c'est ce que je recherche à faire mais...il y a probablement un point qui m'échappe.
Dans...Call Imprimante_Par_Défaut("HP Deskjet 930c/932c/935c")...je ne connais pas le nom de l'imprimante. J'ai essayé de la définir par une variable ex.: Var_Defaultprint et j'ai alors inscrit Call Imprimante_Par_Défaut(Var_Defaultprint)...mais ça ne fonctionne pas.
Y a-t'il alors un ajustement à effectuer ou comment y arriver?
Merci à l'avance.
Le contenu signalé a été envoyé
Cette réponse vous a-t-elle été utile ?
Nous sommes désolés de ne pas avoir pu vous aider.
Super ! Merci de vos commentaires.
Êtes-vous satisfait de cette réponse ?
Nous vous remercions de vos commentaires qui nous aideront à améliorer le site.
Êtes-vous satisfait de cette réponse ?
Merci de vos commentaires.
Tu veux dire que tu définir une imprimante par défaut,
mais tu ne connais pas les imprimantes disponibles?
Essaie ceci :
'-----------------------------------------
Sub test()
'Nom de l'imprimante tel qu'écrit dans le panneau
'de configuration de Windows
Dim strComputer As String, objWMIService As Object
Dim colInstalledPrinters As Object, objPrinter As Object
Dim X As Variant, Arr()
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colInstalledPrinters = objWMIService.ExecQuery _
("Select * from Win32_Printer")
For Each objPrinter In colInstalledPrinters
a = a + 1
Message = Message & a & " - Nom: " & objPrinter.Name & vbCrLf
ReDim Preserve Arr(1 To a)
Arr(a) = objPrinter.Name
Next
X = Application.InputBox(Prompt:= _
"Insérer le chiffre correspondant à l'imprimante désirée." & _
vbCrLf & Message, Title:="Choisissez une imprimante", Type:=1)
If X = False Then Exit Sub
Call Imprimante_Par_Défaut(Arr(X))
End Sub
'-----------------------------------------
Sub Imprimante_Par_Défaut(Nom_Imprimante As Variant)
Dim strComputer As String, objWMIService As Object
Dim colInstalledPrinters As Object, objPrinter As Object
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colInstalledPrinters = objWMIService.ExecQuery _
("Select * from Win32_Printer Where Name = '" & Nom_Imprimante & "'")
For Each objPrinter In colInstalledPrinters
objPrinter.SetDefaultPrinter
Next
End Sub
'-----------------------------------------
MichD
---------------------------------------------------------------
Le contenu signalé a été envoyé
Cette réponse vous a-t-elle été utile ?
Nous sommes désolés de ne pas avoir pu vous aider.
Super ! Merci de vos commentaires.
Êtes-vous satisfait de cette réponse ?
Nous vous remercions de vos commentaires qui nous aideront à améliorer le site.
Êtes-vous satisfait de cette réponse ?
Merci de vos commentaires.
à la suite de cette ligne de code dans la procédure "Test()"
If X = False Then Exit Sub
Tu devrais ajouter ceci afin d'éviter ceux qui choisisse un
numéro d'imprimante inexistant.
If X < 1 Or X > UBound(Arr) Then
MsgBox "Votre numéro du choix de l'imprimante est " & _
"inexistant.", vbCritical + vbOKOnly, "Procédure avortée"
Exit Sub
End If
MichD
---------------------------------------------------------------
Le contenu signalé a été envoyé
Cette réponse vous a-t-elle été utile ?
Nous sommes désolés de ne pas avoir pu vous aider.
Super ! Merci de vos commentaires.
Êtes-vous satisfait de cette réponse ?
Nous vous remercions de vos commentaires qui nous aideront à améliorer le site.
Êtes-vous satisfait de cette réponse ?
Merci de vos commentaires.