Changer l'imprimante par défaut sous Infopath en Vbscript

Résolu
bowj Messages postés 2 Date d'inscription mardi 19 novembre 2002 Statut Membre Dernière intervention 28 juillet 2007 - 26 juin 2007 à 16:49
bowj Messages postés 2 Date d'inscription mardi 19 novembre 2002 Statut Membre Dernière intervention 28 juillet 2007 - 28 juil. 2007 à 00:18
Bonjour,

J'utilise Infopath pour une application qui génère des impressions.

Pour cette applcation, les impressions doivent se faire sur un papier Entête.
Hors je ne trouve pas comment :
   Soit modifier l'imprimante par défaut via le code Vbscript
   Soit ouvrir la boite de dialog de gestion d'imprimante via le code Vbscript

Bien tout ça avec du Vbscript sous info path

Pour le moment, je peux juste lancer les impressions sur l'imprimante par défaut via
XDocument.PrintOut()

Merci

3 réponses

bowj Messages postés 2 Date d'inscription mardi 19 novembre 2002 Statut Membre Dernière intervention 28 juillet 2007
28 juil. 2007 à 00:18
Bonjour,

Je vois que j'ai du soutiens :)
bon j'ai trouvé ma réponse et celle ne convient pas trop, ça m'oblige à passer par des objet Word, du coup je me suis servie de script windows qu'infopath autorise.
voici  un exemple pour récup l'imprimante par défaut
Dim net
Set net = CreateObject("WScript.Network")
net.SetDefaultPrinter " \\ServerName\PrinterName "

voilà de quoi lister les imprimantes:
strComputer = "."
Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\" & strComputer & "\root\cimv2")

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

For Each objPrinter in colInstalledPrinters
Wscript.Echo "Name: " & objPrinter.Name
Wscript.Echo "Location: " & objPrinter.Location
Wscript.Echo "Default: " & objPrinter.Default
Next

Ensuite pour régler mon problème, j'ai manipulé ces commandes!

A vous de jouer :)
3
cs_JMO Messages postés 1854 Date d'inscription jeudi 23 mai 2002 Statut Membre Dernière intervention 24 juin 2018 26
26 juin 2007 à 17:05
 Bonjour

Dans l'exemple ci-dessous, j'imprime un .txt sur les imprimantes réseau.

Call fnImprimerDoc("d:\test.txt")

Function fnImprimerDoc(MyDoc)
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
          Wscript.Echo "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
End Function

jean-marc
0
cs_JMO Messages postés 1854 Date d'inscription jeudi 23 mai 2002 Statut Membre Dernière intervention 24 juin 2018 26
27 juin 2007 à 13:07
 Bonjour à tous

Je m'aperçois que " [auteurdetail.aspx?ID=18055 bowj]" contribue fortement, mais à dose homéopatique, à l'essor de VBF (CS) !!!

<li>Arrivée sur CodeS-SourceS le :
19/11/2002 15:42:36
</li><li>Dernier signe de vie :
26/06/2007 17:27:05
</li>mais


Messages dans le forum sur tout CodeS-SourceS : 1
message(s)


Il ne faut pas le prendre mal ....
Je sors, du Forum, direction "mon" petit port de la salis et ses <strike>dorades</strike> bugues.
Amicalement,
jean-marc
0
Rejoignez-nous