Salut à tous,
Alors je vais essayer d’aller droit au but concernant mon problème, j’expliquerai tout le contexte s’il le faut, mais c’est un peu long
En gros, j’ai besoin de connaître le nom complet de l’imprimante (nom + port) pour imprimer en VBA dans Word et Excel (sans intervention humaine, il n’y a personne devant le serveur).
J’ai donc un script vbs qui permet d’afficher le nom complet (nom + port) de l’imprimante par défaut du poste.
Voici le script :
Lorsqu’on l’exécute, ça renvoie un truc du genre « monImprimante on Ne04: »
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 Set objWord = CreateObject("Word.Application") MsgBox objWord.ActivePrinter objWord.Quit Set objWord = Nothing
Par contre, si on crée un objet "Excel.Application" dans le script, ça renvoie un truc du genre : « monImprimante sur Ne04: »
Bien sûr, lorsqu'on essaie d'imprimer sur l'imprimante avec "on Ne04" sur Excel, ça ne fonctionne pas, et vice-versa sur Word avec "sur".
Ca me gêne énormément car ma contrainte est que le nom complet de l’imprimante doit être identique pour Word et Excel, sinon ça me fait changer trop de chose dans mon logiciel.
Testé et approuvé sur :
· mon poste WinXP (Français) et Office 2007 (Français)
· un serveur Win2003 (Anglais) et Office 2003 (Français)
· un serveur Win2008 (Français) et Office 2007 (Français)
Quelqu’un a une idée de la raison de cette différence sur le « on/sur » entre Word et Excel ? Comment contourner ?
Pour lancer l’impression, on utilise la technique standard :
· sauvegarder l’ActivePrinter
· modifier l’ActivePrinter avec « monImprimante sur Ne04: »
· restaurer l’ActivePrinter
J’ai cru comprendre que le port était important lorsqu’on modifie l’ActivePrinter, mais si je l’enlève (si je mets « monImprimante » tout court), ça fonctionne.
Vous savez si ça sert encore à quelque chose ? Si non, ça m’arrangerait bien car ça voudrait dire que je n’ai pas à me soucier de la différence « on/sur » dans le nom complet.
Sur ce, j'espère avoir été clair![]()
Partager