Macro sous word 2007 désignant choix du bac feuille imprimante
Over.Slash
Messages postés10Date d'inscriptionlundi 24 mars 2014StatutMembreDernière intervention20 août 2014
-
18 août 2014 à 18:20
Over.Slash
Messages postés10Date d'inscriptionlundi 24 mars 2014StatutMembreDernière intervention20 août 2014
-
20 août 2014 à 18:48
bonjour,
je cherche une solution pour imprimer une enveloppe depuis le réceptacle arrière de mon imprimante et un courrier depuis la cassette mais aussi en désignant l'imprimante qui doit faire l'impression et ce en utilisant une seule macro.
la 1er solution
serait installer 2 fois la même imprimante, chacune ayant par défaut, l'une le bac "réceptacle arrière" et l'autre "la cassette".
mais comment traduire le choix de l'imprimante en code ?
(cette solution ne me conviens pas trop compte tenu que j'ai plusieurs imprimantes déjà installées, doubler leurs installations ca serait un peut le foutoir ensuite pour les autres utilisateurs qui n'ont pas l'habitude)
la 2ème solution
obtenir la désignation du bac à utiliser comme ceci
=-=- Supported Bins -=-=
Bin Name ID
1.Selection Automatique 15
2.Depart Manuel 4
3.Magasin 1 258
4.Magasin 2 257
mais comment obtenir ces infos ? j'ai pu lire sur d'autres forum qui faut utiliser un code API. mais là je sèche j'ai aucune notions.
ensuite il faudrait utiliser ce code
Application.printer.paperbin = ???
en remplaçant les ??? par la référence du bac que l'ont veux définir.
mais là c'est pareils je n'ai aucune indée de la mise en oeuvre , je pense qu'il faudra également désigner l'imprimante concernée car chacune référence les bacs différemment selon les modèles et les marques constructeurs.
avant de poster j'ai fais quelques recherches, et quelques bidouilles mais rien de contrè.
pour obtenir des info j'ai enregistré des macros en faisant des impressions, en choisissant à chaque fois une source différente d'alimentation du papier en automatique, avec la cassette ou le réceptacle arrière, j'obtiens toujours le même code:
Sub Macro1() ' ' Macro1 enregistrée avec impression HP LaserJet P1005 selection soucre de papier automatique ' ' Application.PrintOut FileName:="", Range:=wdPrintAllDocument, Item:= _ wdPrintDocumentWithMarkup, Copies:=1, Pages:="", PageType:= _ wdPrintAllPages, Collate:=True, Background:=True, PrintToFile:=False, _ PrintZoomColumn:=0, PrintZoomRow:=0, PrintZoomPaperWidth:=0, _ PrintZoomPaperHeight:=0 End Sub
je suis sur une version 2007 de word et l'enregistreur ne traduit pas toutes les syntaxes en VBA.
il s'agit seulement des options par défaut liées à l'impression via l'application utilisée et non celles spécifiques à l'imprimante.
maintenant que j'ai créé ces 3 macros je vais insérer le code suivant
Msgbox Prn.BinDefault
pour voir si cela me donne plus d'info sur l'origine du port utilisé.
comment je pourrais obtenir plus d'info ?
je remercie par avance tous ceux qui pourront m'apporter une aide.
A voir également:
Macro sous word 2007 désignant choix du bac feuille imprimante
mais je ne sais pas comment appliquer cela je suis sous Win7 avec word2007.
j'ai déjà essayé de faire un copier collé sous vba de word de la procédure qui utilise la fonction DeviceCapabilities API pour afficher une boîte de message contenant le nom de l'imprimante par défaut et une liste des bacs à papier que pris en charge. mais j'ai une erreur avec
Over.Slash
Messages postés10Date d'inscriptionlundi 24 mars 2014StatutMembreDernière intervention20 août 20141 19 août 2014 à 01:13
okay j'ai jeté un coup d'oeil vite fait, j'étudiais cela demain en rentrant du boulot, je ferais quelques essais et vous tiendrais au courant apparemment cela ne fonctionnerait pas avec toutes les imprimantes.
18 août 2014 à 22:30
le code que tu as trouvé... est pour ACCESS
Je pense qu'il te faut plutot t'orienter vers :
http://wordribbon.tips.net/T009320_Specifying_a_Paper_Tray_in_a_Macro.html
http://www.experts-exchange.com/Software/Office_Productivity/Office_Suites/MS_Office/Word/Q_21699305.html
.
19 août 2014 à 01:13