Bonjour.
Comment récupérer le nom de l'imprimante active de VBE, celle sur laquelle
s'imprimera les UFs ? Je sais changer celle-ci, avec
CreateObject("Wscript.Network").SetDefaultPrinter, mais je ne connais pas le
nom de la propriété qui pourrait s'appeler .defaultprinter (mais c'est pas
ça...).
D'ailleurs, ou puis-je trouver en ligne une liste de ces utilitaires bien
utiles (ce qui est la moindre des choses pour un utilitaire...), avec leurs
arguments ?
Merci à tous.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Jacques93
Bonjour Gadget,
Avec WMI ?
strComputer = "." Set objWMIService = GetObject("winmgmts:" _ & "{impersonationLevel=impersonate}!" _ & strComputer & "rootcimv2") Set colInstalledPrinters = objWMIService.ExecQuery _ ("Select * from Win32_Printer Where Default = True") For Each objPrinter In colInstalledPrinters MsgBox objPrinter.Name Next
NB : La propriété 'Default' n'est pas disponible sous NT4 et W2K
Gadget a écrit :
Bonjour. Comment récupérer le nom de l'imprimante active de VBE, celle sur laquelle s'imprimera les UFs ? Je sais changer celle-ci, avec CreateObject("Wscript.Network").SetDefaultPrinter, mais je ne connais pas le nom de la propriété qui pourrait s'appeler .defaultprinter (mais c'est pas ça...). D'ailleurs, ou puis-je trouver en ligne une liste de ces utilitaires bien utiles (ce qui est la moindre des choses pour un utilitaire...), avec leurs arguments ? Merci à tous.
--
Cordialement,
Jacques.
Bonjour Gadget,
Avec WMI ?
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\" _
& strComputer & "rootcimv2")
Set colInstalledPrinters = objWMIService.ExecQuery _
("Select * from Win32_Printer Where Default = True")
For Each objPrinter In colInstalledPrinters
MsgBox objPrinter.Name
Next
NB : La propriété 'Default' n'est pas disponible sous NT4 et W2K
Gadget a écrit :
Bonjour.
Comment récupérer le nom de l'imprimante active de VBE, celle sur laquelle
s'imprimera les UFs ? Je sais changer celle-ci, avec
CreateObject("Wscript.Network").SetDefaultPrinter, mais je ne connais pas le
nom de la propriété qui pourrait s'appeler .defaultprinter (mais c'est pas
ça...).
D'ailleurs, ou puis-je trouver en ligne une liste de ces utilitaires bien
utiles (ce qui est la moindre des choses pour un utilitaire...), avec leurs
arguments ?
Merci à tous.
strComputer = "." Set objWMIService = GetObject("winmgmts:" _ & "{impersonationLevel=impersonate}!" _ & strComputer & "rootcimv2") Set colInstalledPrinters = objWMIService.ExecQuery _ ("Select * from Win32_Printer Where Default = True") For Each objPrinter In colInstalledPrinters MsgBox objPrinter.Name Next
NB : La propriété 'Default' n'est pas disponible sous NT4 et W2K
Gadget a écrit :
Bonjour. Comment récupérer le nom de l'imprimante active de VBE, celle sur laquelle s'imprimera les UFs ? Je sais changer celle-ci, avec CreateObject("Wscript.Network").SetDefaultPrinter, mais je ne connais pas le nom de la propriété qui pourrait s'appeler .defaultprinter (mais c'est pas ça...). D'ailleurs, ou puis-je trouver en ligne une liste de ces utilitaires bien utiles (ce qui est la moindre des choses pour un utilitaire...), avec leurs arguments ? Merci à tous.
--
Cordialement,
Jacques.
Gadget
Merci, ça marche.
"Jacques93" a écrit dans le message de news: %
Bonjour Gadget,
Avec WMI ?
strComputer = "." Set objWMIService = GetObject("winmgmts:" _ & "{impersonationLevel=impersonate}!" _ & strComputer & "rootcimv2") Set colInstalledPrinters = objWMIService.ExecQuery _ ("Select * from Win32_Printer Where Default = True") For Each objPrinter In colInstalledPrinters MsgBox objPrinter.Name Next
NB : La propriété 'Default' n'est pas disponible sous NT4 et W2K
Gadget a écrit :
Bonjour. Comment récupérer le nom de l'imprimante active de VBE, celle sur laquelle s'imprimera les UFs ? Je sais changer celle-ci, avec CreateObject("Wscript.Network").SetDefaultPrinter, mais je ne connais pas le nom de la propriété qui pourrait s'appeler .defaultprinter (mais c'est pas ça...). D'ailleurs, ou puis-je trouver en ligne une liste de ces utilitaires bien utiles (ce qui est la moindre des choses pour un utilitaire...), avec leurs arguments ? Merci à tous.
--
Cordialement,
Jacques.
Merci, ça marche.
"Jacques93" <jacques@Nospam> a écrit dans le message de news:
%23l8vEi99IHA.5228@TK2MSFTNGP06.phx.gbl...
Bonjour Gadget,
Avec WMI ?
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\" _
& strComputer & "rootcimv2")
Set colInstalledPrinters = objWMIService.ExecQuery _
("Select * from Win32_Printer Where Default = True")
For Each objPrinter In colInstalledPrinters
MsgBox objPrinter.Name
Next
NB : La propriété 'Default' n'est pas disponible sous NT4 et W2K
Gadget a écrit :
Bonjour.
Comment récupérer le nom de l'imprimante active de VBE, celle sur
laquelle s'imprimera les UFs ? Je sais changer celle-ci, avec
CreateObject("Wscript.Network").SetDefaultPrinter, mais je ne connais pas
le nom de la propriété qui pourrait s'appeler .defaultprinter (mais c'est
pas ça...).
D'ailleurs, ou puis-je trouver en ligne une liste de ces utilitaires bien
utiles (ce qui est la moindre des choses pour un utilitaire...), avec
leurs arguments ?
Merci à tous.
strComputer = "." Set objWMIService = GetObject("winmgmts:" _ & "{impersonationLevel=impersonate}!" _ & strComputer & "rootcimv2") Set colInstalledPrinters = objWMIService.ExecQuery _ ("Select * from Win32_Printer Where Default = True") For Each objPrinter In colInstalledPrinters MsgBox objPrinter.Name Next
NB : La propriété 'Default' n'est pas disponible sous NT4 et W2K
Gadget a écrit :
Bonjour. Comment récupérer le nom de l'imprimante active de VBE, celle sur laquelle s'imprimera les UFs ? Je sais changer celle-ci, avec CreateObject("Wscript.Network").SetDefaultPrinter, mais je ne connais pas le nom de la propriété qui pourrait s'appeler .defaultprinter (mais c'est pas ça...). D'ailleurs, ou puis-je trouver en ligne une liste de ces utilitaires bien utiles (ce qui est la moindre des choses pour un utilitaire...), avec leurs arguments ? Merci à tous.
--
Cordialement,
Jacques.
Jacques93
Merci du retour. Ou avec l'API :
Private Const ERROR_INSUFFICIENT_BUFFER = 122& Private Declare Function GetDefaultPrinter Lib "winspool.drv" Alias _ "GetDefaultPrinterA" (ByVal pszBuffer As String, _ ByRef pcchBuffer As Long) As Long
Private Sub CommandButton1_Click() Dim lResult As Long, BufLen As Long Dim PrinterName As String
BufLen = 0 ' Récupère la taille nécessaire pour le nom lResult = GetDefaultPrinter(PrinterName, BufLen) ' Alloue le buffer pour le nom PrinterName = String(BufLen, 0) lResult = GetDefaultPrinter(PrinterName, BufLen) ' Supprime le zéro binaire de fin PrinterName = Left(PrinterName, InStr(PrinterName, Chr$(0)) - 1) MsgBox PrinterName End Sub
Gadget a écrit :
Merci, ça marche.
--
Cordialement,
Jacques.
Merci du retour. Ou avec l'API :
Private Const ERROR_INSUFFICIENT_BUFFER = 122&
Private Declare Function GetDefaultPrinter Lib "winspool.drv" Alias _
"GetDefaultPrinterA" (ByVal pszBuffer As String, _
ByRef pcchBuffer As Long) As Long
Private Sub CommandButton1_Click()
Dim lResult As Long, BufLen As Long
Dim PrinterName As String
BufLen = 0
' Récupère la taille nécessaire pour le nom
lResult = GetDefaultPrinter(PrinterName, BufLen)
' Alloue le buffer pour le nom
PrinterName = String(BufLen, 0)
lResult = GetDefaultPrinter(PrinterName, BufLen)
' Supprime le zéro binaire de fin
PrinterName = Left(PrinterName, InStr(PrinterName, Chr$(0)) - 1)
MsgBox PrinterName
End Sub
Private Const ERROR_INSUFFICIENT_BUFFER = 122& Private Declare Function GetDefaultPrinter Lib "winspool.drv" Alias _ "GetDefaultPrinterA" (ByVal pszBuffer As String, _ ByRef pcchBuffer As Long) As Long
Private Sub CommandButton1_Click() Dim lResult As Long, BufLen As Long Dim PrinterName As String
BufLen = 0 ' Récupère la taille nécessaire pour le nom lResult = GetDefaultPrinter(PrinterName, BufLen) ' Alloue le buffer pour le nom PrinterName = String(BufLen, 0) lResult = GetDefaultPrinter(PrinterName, BufLen) ' Supprime le zéro binaire de fin PrinterName = Left(PrinterName, InStr(PrinterName, Chr$(0)) - 1) MsgBox PrinterName End Sub
Gadget a écrit :
Merci, ça marche.
--
Cordialement,
Jacques.
Gadget
Merci pour ça aussi. Et où peut-on trouver la liste de ces appels WMI, API et autres, avec leur fonction, leur syntaxe sous VBA et leurs paramètres, le tout en ligne ?
"Jacques93" a écrit dans le message de news: %
Merci du retour. Ou avec l'API :
Private Const ERROR_INSUFFICIENT_BUFFER = 122& Private Declare Function GetDefaultPrinter Lib "winspool.drv" Alias _ "GetDefaultPrinterA" (ByVal pszBuffer As String, _ ByRef pcchBuffer As Long) As Long
Private Sub CommandButton1_Click() Dim lResult As Long, BufLen As Long Dim PrinterName As String
BufLen = 0 ' Récupère la taille nécessaire pour le nom lResult = GetDefaultPrinter(PrinterName, BufLen) ' Alloue le buffer pour le nom PrinterName = String(BufLen, 0) lResult = GetDefaultPrinter(PrinterName, BufLen) ' Supprime le zéro binaire de fin PrinterName = Left(PrinterName, InStr(PrinterName, Chr$(0)) - 1) MsgBox PrinterName End Sub
Gadget a écrit :
Merci, ça marche.
--
Cordialement,
Jacques.
Merci pour ça aussi.
Et où peut-on trouver la liste de ces appels WMI, API et autres, avec leur
fonction, leur syntaxe sous VBA et leurs paramètres, le tout en ligne ?
"Jacques93" <jacques@Nospam> a écrit dans le message de news:
%231hssx99IHA.2332@TK2MSFTNGP03.phx.gbl...
Merci du retour. Ou avec l'API :
Private Const ERROR_INSUFFICIENT_BUFFER = 122&
Private Declare Function GetDefaultPrinter Lib "winspool.drv" Alias _
"GetDefaultPrinterA" (ByVal pszBuffer As String, _
ByRef pcchBuffer As Long) As Long
Private Sub CommandButton1_Click()
Dim lResult As Long, BufLen As Long
Dim PrinterName As String
BufLen = 0
' Récupère la taille nécessaire pour le nom
lResult = GetDefaultPrinter(PrinterName, BufLen)
' Alloue le buffer pour le nom
PrinterName = String(BufLen, 0)
lResult = GetDefaultPrinter(PrinterName, BufLen)
' Supprime le zéro binaire de fin
PrinterName = Left(PrinterName, InStr(PrinterName, Chr$(0)) - 1)
MsgBox PrinterName
End Sub
Merci pour ça aussi. Et où peut-on trouver la liste de ces appels WMI, API et autres, avec leur fonction, leur syntaxe sous VBA et leurs paramètres, le tout en ligne ?
"Jacques93" a écrit dans le message de news: %
Merci du retour. Ou avec l'API :
Private Const ERROR_INSUFFICIENT_BUFFER = 122& Private Declare Function GetDefaultPrinter Lib "winspool.drv" Alias _ "GetDefaultPrinterA" (ByVal pszBuffer As String, _ ByRef pcchBuffer As Long) As Long
Private Sub CommandButton1_Click() Dim lResult As Long, BufLen As Long Dim PrinterName As String
BufLen = 0 ' Récupère la taille nécessaire pour le nom lResult = GetDefaultPrinter(PrinterName, BufLen) ' Alloue le buffer pour le nom PrinterName = String(BufLen, 0) lResult = GetDefaultPrinter(PrinterName, BufLen) ' Supprime le zéro binaire de fin PrinterName = Left(PrinterName, InStr(PrinterName, Chr$(0)) - 1) MsgBox PrinterName End Sub
tu ouvre l'arborescence de gauche, attention y'a du monde et comme les Api's sont également pléthoriques tu peux chercher sur MSDN, mais il faut savoir quoi chercher ...
Pour les plus courantes, il y par exemple :
<http://allapi.mentalis.org/agnet/apiguide.shtml>
Bonne lecture :-)
Gadget a écrit :
Merci pour ça aussi. Et où peut-on trouver la liste de ces appels WMI, API et autres, avec leur fonction, leur syntaxe sous VBA et leurs paramètres, le tout en ligne ?
tu ouvre l'arborescence de gauche, attention y'a du monde
et comme les Api's sont également pléthoriques tu peux chercher sur
MSDN, mais il faut savoir quoi chercher ...
Pour les plus courantes, il y par exemple :
<http://allapi.mentalis.org/agnet/apiguide.shtml>
Bonne lecture :-)
Gadget a écrit :
Merci pour ça aussi.
Et où peut-on trouver la liste de ces appels WMI, API et autres, avec leur
fonction, leur syntaxe sous VBA et leurs paramètres, le tout en ligne ?
tu ouvre l'arborescence de gauche, attention y'a du monde et comme les Api's sont également pléthoriques tu peux chercher sur MSDN, mais il faut savoir quoi chercher ...
Pour les plus courantes, il y par exemple :
<http://allapi.mentalis.org/agnet/apiguide.shtml>
Bonne lecture :-)
Gadget a écrit :
Merci pour ça aussi. Et où peut-on trouver la liste de ces appels WMI, API et autres, avec leur fonction, leur syntaxe sous VBA et leurs paramètres, le tout en ligne ?
--
Cordialement,
Jacques.
Modeste
Bonsour® Gadget avec ferveur ;o))) vous nous disiez :
Comment récupérer le nom de l'imprimante active de VBE, celle sur laquelle s'imprimera les UFs ?
MsgBox Application.ActivePrinter
pour manipuler les imprimantes installées sur ton poste
Sub Change_printer() printerold = Application.ActivePrinter MsgBox "L'imprimante active actuelle est : " & " >>>>> " & printerold
dlganswer = Application.Dialogs(xlDialogPrinterSetup).Show If dlganswer = True Then '------ ceci n'est qu'une seule instruction reponse = MsgBox("L'imprimante active était : " _ & Chr(10) & " ====> " & printerold _ & Chr(10) & " elle sera maintenant : " _ & Chr(10) & " ====> " & Application.ActivePrinter _ & Chr(10) & "Voulez vous confirmer ?", _ vbQuestion + vbYesNo, _ "Changement d'imprimante") '------ If reponse = vbYes Then MsgBox "L'imprimante active actuelle devient : " _ & Chr(10) & " ====> "& Application.ActivePrinter Exit Sub End If Else Application.ActivePrinter = printerold MsgBox "L'imprimante active reste : " _ & Chr(10) & " ====> "& printerold End If End Sub
-- -- @+ ;o)))
Bonsour® Gadget avec ferveur ;o))) vous nous disiez :
Comment récupérer le nom de l'imprimante active de VBE, celle sur
laquelle s'imprimera les UFs ?
MsgBox Application.ActivePrinter
pour manipuler les imprimantes installées sur ton poste
Sub Change_printer()
printerold = Application.ActivePrinter
MsgBox "L'imprimante active actuelle est : " & " >>>>> " & printerold
dlganswer = Application.Dialogs(xlDialogPrinterSetup).Show
If dlganswer = True Then
'------ ceci n'est qu'une seule instruction
reponse = MsgBox("L'imprimante active était : " _
& Chr(10) & " ====> " & printerold _
& Chr(10) & " elle sera maintenant : " _
& Chr(10) & " ====> " & Application.ActivePrinter _
& Chr(10) & "Voulez vous confirmer ?", _
vbQuestion + vbYesNo, _
"Changement d'imprimante")
'------
If reponse = vbYes Then
MsgBox "L'imprimante active actuelle devient : " _
& Chr(10) & " ====> "& Application.ActivePrinter
Exit Sub
End If
Else
Application.ActivePrinter = printerold
MsgBox "L'imprimante active reste : " _
& Chr(10) & " ====> "& printerold
End If
End Sub