Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Liste d'imprimantes et VBA

6 réponses
Avatar
Sébastien
Bonjour,

je recherche le moyen pour insérer à l'intérieur d'une liste de choix la
liste des imprimantes installées sur mon PC pour WORD 97?

Mercvi d'avance.
Tom.

6 réponses

Avatar
Jacques93
Bonjour Sébastien,
Bonjour,

je recherche le moyen pour insérer à l'intérieur d'une liste de choix la
liste des imprimantes installées sur mon PC pour WORD 97?

Mercvi d'avance.
Tom.


A ma connaissance, sous VBA Word, il n'y a pas d'équivalent de la
collection Printers de VB6. On peut utiliser WMI :

Private Sub ListeImprimante()
strComputer = "."

Set objWMIService = GetObject("winmgmts:" & _
"{impersonationLevel=impersonate}!" & _
strComputer & "rootcimv2")
Set colInstalledPrinters = objWMIService.ExecQuery("Select * _
from Win32_Printer")
For Each objPrinter In colInstalledPrinters
ThisDocument.ListBox1.AddItem objPrinter.Name
Next
End Sub


WMI n'est installé de base que sur Windows Me, W2K, XP,
pour les versions antèrieures, W95, W98, W98 SE, il faut le télécharger:

http://www.microsoft.com/downloads/details.aspx?FamilyId˜A4C5BA-337B-4E92-8C18-A63847760EA5&displaylang=en

Quelques info sur les imprimantes et WMI :

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wmisdk/wmi/wmi_tasks__printers_and_printing.asp

--
Cordialement,

Jacques.

Avatar
Sébastien
Bonjour,

Merci pour cette réponse, qui fonctionne très bien sous l'environnement
VBA... mais qui me retourne une liste vide lorsque le formulaire est affiché
depuis Word !

JE l'ai inséré à l'initialisation de mon UserForm, qui est en fait une boîte
venant en remplacement de la boîte d'impression standard de Word. Ca
fonctionne très bien si je lance l'exécution de la UserForm sous VBA, mais la
liste censée contenir les imprimantes reste désespérement vide en passant
sous Word.

Une idée...?

Merci !

Sébastien
Avatar
Jacques93
Bonjour Sébastien,

Je ne comprends pas très bien, ta liste est dans un UserForm ou dans ton
document ?

Bonjour,

Merci pour cette réponse, qui fonctionne très bien sous l'environnement
VBA... mais qui me retourne une liste vide lorsque le formulaire est affiché
depuis Word !

JE l'ai inséré à l'initialisation de mon UserForm, qui est en fait une boîte
venant en remplacement de la boîte d'impression standard de Word. Ca
fonctionne très bien si je lance l'exécution de la UserForm sous VBA, mais la
liste censée contenir les imprimantes reste désespérement vide en passant
sous Word.

Une idée...?

Merci !

Sébastien



--
Cordialement,

Jacques.

Avatar
Sébastien
Merci de m'accorder de votre temps !

Ma liste est une ComboBox dans un UserForm. J'ai adapté le nom des objets
dans le code. J'ai un petit code en plus, qui remplace l'appel de la boite
standard d'impression : Lorsque je suis dans mon doc Word, et que je lance la
commande "imprimer", ça n'est pas la boite standard qui s'affiche mais ma
UserForm, dans laquelle je choisis l'imrpimante à utiliser. Et le problème
vient du fait que j'ai du mal à remplir cette ComboBox avec la liste des
imprimantes disponibles. J'ai un code du net qui fonctionne pour Word 2000 ou
2002, mais je bloque pour en trouver un sous Word 97.

Sébastien
Avatar
Jacques93
Bonjour Sebastien,
Merci de m'accorder de votre temps !

Ma liste est une ComboBox dans un UserForm. J'ai adapté le nom des objets
dans le code. J'ai un petit code en plus, qui remplace l'appel de la boite
standard d'impression : Lorsque je suis dans mon doc Word, et que je lance la
commande "imprimer", ça n'est pas la boite standard qui s'affiche mais ma
UserForm, dans laquelle je choisis l'imrpimante à utiliser. Et le problème
vient du fait que j'ai du mal à remplir cette ComboBox avec la liste des
imprimantes disponibles. J'ai un code du net qui fonctionne pour Word 2000 ou
2002, mais je bloque pour en trouver un sous Word 97.

Sébastien


Désolé, je n'ai pas Word 97. Donc pas possible de voir ce qui se passe.

--
Cordialement,

Jacques.

Avatar
Geo
Bonjour Sébastien


Merci de m'accorder de votre temps !

Ma liste est une ComboBox dans un UserForm. J'ai adapté le nom des
objets dans le code. J'ai un petit code en plus, qui remplace l'appel
de la boite standard d'impression : Lorsque je suis dans mon doc
Word, et que je lance la commande "imprimer", ça n'est pas la boite
standard qui s'affiche mais ma UserForm, dans laquelle je choisis
l'imrpimante à utiliser.


Si c'est un événement, c'est normal, ça n'existait pas encore en 97.
Peut être en donnant comme nom de macro FichierImprimer ou
FichierImprimerDéfaut.

--

A+