Impression d'un document

cs_xavier77 Messages postés 95 Date d'inscription jeudi 27 décembre 2001 Statut Membre Dernière intervention 17 avril 2013 - 6 déc. 2005 à 17:04
cs_JMO Messages postés 1854 Date d'inscription jeudi 23 mai 2002 Statut Membre Dernière intervention 24 juin 2018 - 6 déc. 2005 à 18:11
Bonjour à tous,

J'aimerais savoir s'il est possible d'imprimer un fichier (.doc, .xls, .pdf, ...) sans avoir à l'ouvrir. Ce que je recherche correspond au "clique droit --> imprimer" lorsque l'on se trouve dans l'explorateur windows.Il doit bien y avoir une API qui fait cela..non?

Merci de votre aide. bon prog à tous

Xavier

1 réponse

cs_JMO Messages postés 1854 Date d'inscription jeudi 23 mai 2002 Statut Membre Dernière intervention 24 juin 2018 27
6 déc. 2005 à 18:11
Bonsoir,
Dans l'exemple ci-dessous, j'ouvre des fichiers (.doc et .xls), dans un folder précis,
pour les imprimer (un par un).
Je ne sais pas s'il y a possibilité d'imprimer un file sans l'ouvrir.

Dim Fso, path, fichier, fichiers, WshShell
path = "E:\Affaires\EUROFACTOR - AP02N008\4.3 Formulaires\Formulaires spécifiques"


Set WshShell = CreateObject("WScript.Shell")
Set fso = CreateObject("Scripting.FileSystemObject")
Set dossier = fso.GetFolder(path)
Set fichiers = Dossier.Files


For Each fichier in fichiers
'MsgBox "shortPath=" & fichier.ShortPath & vbCrLf & "Path=" & fichier.Path
'MsgBox "shortName=" & fichier.ShortName & vbCrLf & "Name=" & fichier.Name
If Left(fichier.name,19) = "Main courante Ifdex" Then
WshShell.Run fichier.ShortPath
WScript.Sleep(3000)
WshShell.SendKeys "^p"
WScript.Sleep(2000)
WshShell.SendKeys "{ENTER}" 'imprimer => ok
WScript.Sleep(3000)
WshShell.SendKeys "%(fq)" 'fermeture du document
WScript.Sleep(3000)
End If
If Right(fichier.name,23) = "WEEK-END EUROFACTOR.xls" Then
If jour2 = "Vendredi" Then
WshShell.Run fichier.ShortPath
WScript.Sleep(3000)
WshShell.SendKeys "^p"
WScript.Sleep(2000)
WshShell.SendKeys "{ENTER}" 'imprimer => ok
WScript.Sleep(3000)
WshShell.SendKeys "%(fq)" 'fermeture du document
WScript.Sleep(3000)
End If
Next
Set fso = Nothing
Set WshShell = Nothing
0
Rejoignez-nous