Lister et sélectionner une imprimante

Résolu
yapaksa Messages postés 9 Date d'inscription mercredi 11 mai 2005 Statut Membre Dernière intervention 14 juin 2006 - 13 juin 2006 à 09:16
yapaksa Messages postés 9 Date d'inscription mercredi 11 mai 2005 Statut Membre Dernière intervention 14 juin 2006 - 14 juin 2006 à 14:51
Bonjour à toute la communauté.
Je suis en échec depuis plusieurs jours sur un problème en VBA
Je suis en version XP 2002 SP1 et WORD 2002.
Je voudrais trouver le moyen de lister les imprimantes disponibles pour les afficher la une LB pour pouvoir ensuite en sélectionner une dans la liste pour un publipostage..
En VB c'est très simple avec la collection PRINTERS mais en VBA je n'ai pas trouvé de solution. J'ai fouillé le net (peut-être mal) et je n'ai trouvé qu'une proposition avec les API's  OpenPrinter, ClosePrinter, GetPrinter, SetPrinter pour extraire le contenu du fichier WIN.INI ce qui ne me semble plus d'actualité dans XP.
Peut-être faut-il ajouter une Référence mais laquelle ?
Je remercie d'avance celles et ceux qui pourraient me mettre sur la voie.

7 réponses

cs_bipou Messages postés 61 Date d'inscription mercredi 14 janvier 2004 Statut Membre Dernière intervention 14 septembre 2006
14 juin 2006 à 11:54
pour word essaie :
Dialogs(wdDialogFilePrintSetup).Display 'affiche mais ne prens pas en compte
ou
Dialogs(wdDialogFilePrintSetup).show 'prend en compte
3
cs_bipou Messages postés 61 Date d'inscription mercredi 14 janvier 2004 Statut Membre Dernière intervention 14 septembre 2006
13 juin 2006 à 17:40
essaie:
Application.Dialogs(xlDialogPrinterSetup).Show
0
yapaksa Messages postés 9 Date d'inscription mercredi 11 mai 2005 Statut Membre Dernière intervention 14 juin 2006
14 juin 2006 à 09:43
Merci à tous ceux qui se sont penchés sur la cause de ma migraine et particulièrement à bipou.
Application.Dialogs(xlDialogPrinterSetup).Show fonctionne très bien avec excel mais mon problème concerne WORD.
J'ai ajouté dans mes références Microsoft excel pour l'utiliser dans Word, mais la fenêtre qui s'affiche n'a rien a voir avec les imprimantes. Je continue donc à galérer. Si je trouve une solution je ne manquerai pas de la faire connaitre.
0
yapaksa Messages postés 9 Date d'inscription mercredi 11 mai 2005 Statut Membre Dernière intervention 14 juin 2006
14 juin 2006 à 11:57
J'ai fini par trouver une solution c'est:
    Application.Dialogs.Item(Word.WdWordDialog.wdDialogFilePrintSetup).Show

Cette boite permet de selectionner une imprimante par défaut dans la liste des imprimantes installées. Bien sur si on veut restaurer l'imprimante d'origine par défaut après le job il faut la mémoriser puis la restaurer ce qui donnerai ça:

Save_Imp= Application.ActivePrinter
Application.Dialogs.Item(Word.WdWordDialog.wdDialogFilePrintSetup).Show
........
..........
job
..........
.........
Application.ActivePrinter = Save_Imp

Merci à tous ceux qui se sont intéressés à mon PB
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
yapaksa Messages postés 9 Date d'inscription mercredi 11 mai 2005 Statut Membre Dernière intervention 14 juin 2006
14 juin 2006 à 12:05
Merci à bipou j'ai vérifé que sa ligne est plus simple que la mienne.
Dialogs(wdDialogFilePrintSetup).Display
est equivalent à
Application.Dialogs.Item(Word.WdWordDialog.wdDialogFilePrintSetup).Show
0
yapaksa Messages postés 9 Date d'inscription mercredi 11 mai 2005 Statut Membre Dernière intervention 14 juin 2006
14 juin 2006 à 14:39
Pour clore cette histoire j'annule ce que j'ai dit sur le message précédent et explicite un peu plus ce que disait bipou:
   Dialogs(wdDialogFilePrintSetup).Display
permet d'ouvrir la fenêtre des imprimantes mais n'autorise pas le changement d'imprimante par défaut.
   Dialogs(wdDialogFilePrintSetup).show
permet d'ouvrir la fenêtre des imprimantes et autorise le changement d'imprimante par défaut.
0
yapaksa Messages postés 9 Date d'inscription mercredi 11 mai 2005 Statut Membre Dernière intervention 14 juin 2006
14 juin 2006 à 14:51
Pour clore cette histoire j'annule ce que j'ai dit sur le message précédent et explicite un peu plus ce que disait bipou:
   Dialogs(wdDialogFilePrintSetup).Display
permet d'ouvrir la fenêtre des imprimantes mais n'autorise pas le changement d'imprimante par défaut.
   Dialogs(wdDialogFilePrintSetup).show
permet d'ouvrir la fenêtre des imprimantes et autorise le changement d'imprimante par défaut.
0
Rejoignez-nous