Choix d'imprimante ou de bac en vbscript - InfoPath Dev
in

InfoPath Dev

Choix d'imprimante ou de bac en vbscript

Last post 06-27-2007 07:49 AM by jarnoux. 9 replies.
Page 1 of 1 (10 items)
Sort Posts: Previous Next
  • 06-25-2007 05:24 AM

    Choix d'imprimante ou de bac en vbscript

    Bonjour,

    Je dois pouvoir permettre aux utilisateur de choisir le bac ou l'imprimante souhaitée avant l'impression!

    Tout ça en Vbscript et je ne trouve pas comment faire.

    Pour le moment je me contentais juste de faire Xdocument.Printout() et j'imprimais juste avec l'imprimante par défault.

    Ps : Virgul ne s'appel plus virgul je vois :)

    bonjour Thierry :) 

     

     

  • 06-25-2007 07:52 AM In reply to

    Re: Choix d'imprimante ou de bac en vbscript

    Salut,

     Oui effectivement j'ai abandonné mon Pseudo ici...

     Je connais bien de méthode pour changer le nom de l'imprimante par défaut a condition de connaitre son nom (j'ai un exemple en C#) mais pour ce qui est de bac je ne sais pas...

     Pour tout te dire moi je doit aussi faire ce genre de chose alors je passe par un programme (PDF-Tools Printer API) qui me donne accès a ce genre d'info mais le problème pour celui ci c'est que ca marche qu'avec des documents PDF. A l'aide de ce dernier j'ai créer un petit prog qui me permet de savoir quelle imprimante sont dispo, quelle bac, recto-verso, etc...

    Donc la soit tu achète un prog pour gérer tes impression sois tu vas voir sur le net voir comment on fait pour imprimer en vbscript....

    Car Infopath n'a pas vraiment d'option pour ca... Si ce n'est dans les option des vues ou tu peux séléctionner l'imprimante par défaut pour cette vue ainsi que sont bac. Donc si c'est fixe (cette vue sur cette imprimante dans ce bac pour tout tes utilisateurs) tu pourrais créer des vue supplémentaire qui quand elle sont imprimés (via printout) imprime ta vue cible mais avec une imprimante et un bac donnée. Problème dans ce cas tu dois avoir toute les imprimante installé sur ton PC de développement

     ++

    Thierry

    Infopath 2007, Langage: C#2.0 (Modèle Objet 2003)
    merci de lire ceci
  • 06-25-2007 08:05 AM In reply to

    Re: Choix d'imprimante ou de bac en vbscript

    Bien bien bien, ça me convient pas mal ça!

    c'est quoi alors la méthode pour changer l'imprimante par défault?

    Car je peux éventuellement voir avec la bureautique qu'il donne des alias à des chemins imprimante bac.

    Bon c'est pas trés stable car faut qu'il ne change sinon faut recoder mais bon! :)

     

    Jean-mi

     

     

     

  • 06-25-2007 11:24 PM In reply to

    Re: Choix d'imprimante ou de bac en vbscript

    Je comprend pas tu veux du code C#? Ca va pas t'aider grand chose pour le faire en Vbscript...

     Faut que tu ailles regarder sur un forum Vbscript pour ce genre de chose...

    Infopath 2007, Langage: C#2.0 (Modèle Objet 2003)
    merci de lire ceci
  • 06-26-2007 02:06 AM In reply to

    Re: Choix d'imprimante ou de bac en vbscript

    Et bien c'est pas folichon tout ça :( je trouve rien :( je suis pas trés bon pour chercher sur les forums!!

     

    j'ai l'impression qu'on peut faire des trucs en C# qu'on ne peut pas faire en Vbscript, pourtant infopath devrait permettre de faire les mêmes choses non?

  • 06-26-2007 02:39 AM In reply to

    Re: Choix d'imprimante ou de bac en vbscript

    >>j'ai l'impression qu'on peut faire des trucs en C# qu'on ne peut pas faire en Vbscript, pourtant infopath devrait permettre de faire les mêmes choses non?

    Non c'est pas à cause d'Infopath car les fonctions et méthode sont quasi similaire en vb ou en C#... C'est surtout due au fait que C# utilise le Framework.Net alors que Vbscript non...

    >>Et bien c'est pas folichon tout ça :( je trouve rien :( je suis pas trés bon pour chercher sur les forums!!

    T'as essayé de poser une question?

    Sans oublier que c'est en forgeant qu'on devient forgeron  ;)

    ++

    Thierry

     

    Infopath 2007, Langage: C#2.0 (Modèle Objet 2003)
    merci de lire ceci
  • 06-26-2007 07:15 AM In reply to

    Re: Choix d'imprimante ou de bac en vbscript

    Bon alors une autre solution abordé avec les utilisateurs, si je leur ouvre la boite de dialog d'impression d'infopath.

    Le problème est !! est-ce possible?

    a-t-on accés aux menu d'infopath via le code?

     

    Jean-Mi

  • 06-26-2007 07:35 AM In reply to

    Re: Choix d'imprimante ou de bac en vbscript

    Je sais pas mais je crois que non...

    Mais si tel est le cas pourquoi ne pas marquer quelquepart sur ton form:

     "Pour presonnalissez votre impression pressez Control+P sinon cliquez ici: <Tonbouton/>"

     Un bouton ou un raccourci clavier c'est un peu égal non?

     

    Infopath 2007, Langage: C#2.0 (Modèle Objet 2003)
    merci de lire ceci
  • 06-27-2007 12:34 AM In reply to

    Re: Choix d'imprimante ou de bac en vbscript

    bon j'ai une piste alors je la met pour en faire profiter tout le monde

    ça me sort la liste des imprimantes sur le reseau, j'ai donc peut-être la possibilité de modifier l'imprimante par défaut.

     

    strComputer = "." Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2") Set colInstalledPrinters = objWMIService.ExecQuery("Select * from Win32_Printer") If colInstalledPrinters.Count <> 0 Then For Each objPrinter in colInstalledPrinters MsgBox objPrinter.DeviceID If Left(objPrinter.DeviceID,9) <> "Microsoft" Then msgbox "Name: " & objPrinter.Name & vbCr & _ "Default: " & objPrinter.Default & vbCr & _ "Port: " & objPrinter.PortName & vbCr & _ "Imprimante Reseau: " & objPrinter.Network Dim objFso, objWordApp, objWordDoc Set objFso = CreateObject("Scripting.FileSystemObject") If objFso.FileExists(MyDoc) Then Set objWordApp = CreateObject("Word.Application") Set objWordDoc = objWordApp.documents.open(MyDoc) objWordApp.DisplayAlerts = wdAlertsNone objWordApp.ActivePrinter=objPrinter.Name objWordDoc.PrintOut 0 objWordDoc.Close objWordApp.Quit Set objWordApp = Nothing Set objWordDoc = Nothing end if Set objFso = Nothing end if Next end if Set objWMIService = Nothing Set colInstalledPrinters = Nothing

  • 06-27-2007 07:49 AM In reply to

    Re: Choix d'imprimante ou de bac en vbscript

    Bon voilà ma solution : il faut passer par un script Windows

     Il faut juste s'assuré que les imprimantes reste les mêmes

    sub Impression()

    strComputer = "."

    Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

    Set colInstalledPrinters = objWMIService.ExecQuery("Select * from Win32_Printer Where Name = '\\\\Imprimante2")

         For Each objPrinter in colInstalledPrinters

             objPrinter.SetDefaultPrinter()

         Next

         if (XDocument.UI.Confirm("Imprimer?", 4)=1) then

               XDocument.PrintOut()

         end if

         Set colInstalledPrinters = objWMIService.ExecQuery("Select * from Win32_Printer Where Name = '\\\\imprimante1")

               For Each objPrinter in colInstalledPrinters

                     objPrinter.SetDefaultPrinter()

                Next

    Set objWMIService = Nothing

    Set colInstalledPrinters = Nothing

    end sub

     

     

    Je pourrais récupérer l'imprimante par défaut avant avec

    Set colInstalledPrinters = objWMIService.ExecQuery("Select * from Win32_Printer Where Default = TRUE")

     

    Mais il faut retraiter la chaine pour les caractères spéciaux style replace("\","\\")

    mais je ne sais pas comment on fait avec ce genre de script donc j'ai laisser tomber!

     

    Voili voilou!

    Jean-Mi

Page 1 of 1 (10 items)
Copyright © 2003-2019 Qdabra Software. All rights reserved.
View our Terms of Use.