yapaksa
Messages postés9Date d'inscriptionmercredi 11 mai 2005StatutMembreDernière intervention14 juin 2006
-
13 juin 2006 à 09:16
yapaksa
Messages postés9Date d'inscriptionmercredi 11 mai 2005StatutMembreDernière intervention14 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.
cs_bipou
Messages postés61Date d'inscriptionmercredi 14 janvier 2004StatutMembreDernière intervention14 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
yapaksa
Messages postés9Date d'inscriptionmercredi 11 mai 2005StatutMembreDernière intervention14 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.
yapaksa
Messages postés9Date d'inscriptionmercredi 11 mai 2005StatutMembreDernière intervention14 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:
yapaksa
Messages postés9Date d'inscriptionmercredi 11 mai 2005StatutMembreDernière intervention14 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
yapaksa
Messages postés9Date d'inscriptionmercredi 11 mai 2005StatutMembreDernière intervention14 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.
yapaksa
Messages postés9Date d'inscriptionmercredi 11 mai 2005StatutMembreDernière intervention14 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.