sdfred
Messages postés7Date d'inscriptionlundi 30 juin 2008StatutMembreDernière intervention 8 août 2008
-
6 août 2008 à 13:56
sdfred
Messages postés7Date d'inscriptionlundi 30 juin 2008StatutMembreDernière intervention 8 août 2008
-
8 août 2008 à 16:02
Bonjour, je ne maitrise pas trop vba pour manipuler acrobat:
Si je fais le programme ci dessous ça marche parfaitement je peux imprimer un fichier word via vbaExcell..donc en développant le code je peux imprimer une liste de fichiers word écrite dans excel.
J'aimerais faire la même chose pour imprimer un fichier pdf mais je ne sais pas comment faire. ça ne marche pas. apparemment il ne faut pas utiliser la commande printout pour imprimer un pdf
Pouvez vous m'aider s'il vous plait?
Cordialement
Sub ImprimerWordViaVBAEXCEL()
Dim WordObj As Object
On Error Resume Next
Set WordObj = CreateObject("Word.Application")
Word.documents.Open "C:\essai"
Word.ActiveDocument.PrintOut
Word.ActiveDocument.Close
End Sub
A voir également:
Automatiser impression excel pdf
Tous les codes vba excel pdf - Meilleures réponses
Liste des commandes visual basic pdf - Meilleures réponses
dezbut
Messages postés12Date d'inscriptionlundi 20 novembre 2000StatutMembreDernière intervention13 août 2008 7 août 2008 à 13:36
Bonjour,
Utilise ça :
Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" _
(ByVal hwnd As Long, ByVal lpOperation As String, _
ByVal lpFile As String, ByVal lpParameters As String, _
ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
dezbut
Messages postés12Date d'inscriptionlundi 20 novembre 2000StatutMembreDernière intervention13 août 2008 7 août 2008 à 20:31
Euh... Je ne me suis jamais posé la question en fait pour les formats A3.
Mais il me semble (c'est peut être pas ce que tu recherches) que ces paramètres peuvent se régler manuellement sans passer par VBA. Il faut aller dans les options d'impressions...
Pour automatiser ça, essaye de voir avec winspool.drv mais comme ça, je ne peux rien te dire de plus...
sdfred
Messages postés7Date d'inscriptionlundi 30 juin 2008StatutMembreDernière intervention 8 août 2008 7 août 2008 à 10:47
Merci j'ai essayé de faire un programme mais j'ai du mal:
Pour le fichier ABC.pdf, si j'écris:
Sub essai()
Dim AcroApp As CAcroApp
Set AVDoc = CreateObject("AcroExch.AVDoc")
Call AVDoc.Open("C:\ABC.pdf", "")
Shell ("C:\Program Files\Adobe\Acrobat 7.0\Reader" & "AcroRd32.exe /p """ & "C:\ABC.pdf" & """")
End Sub
Il va m'ouvrir le fichier en question et m'ouvrir aussi le menu pour l'imprimante.
Par contre il faut que je clique sur "OK" pour lancer l'impression..y a t'il un moyen d'éviter cela?
Comment fermer le fichier apres impression?
en te remerciant par avance
Vous n’avez pas trouvé la réponse que vous recherchez ?
sdfred
Messages postés7Date d'inscriptionlundi 30 juin 2008StatutMembreDernière intervention 8 août 2008 7 août 2008 à 18:23
Salut
je te remercie c'est parfait. ça marche.
est ce que tu saurais par hasard ou je peux trouver la commande qui choisi l'imprimante par défaut de windows et comment définir tous les parametres (A3,A4,Recto,RectoVerso...)
Selon le pdf je dois imprimer selon différents formats.
Merci encore
sdfred
Messages postés7Date d'inscriptionlundi 30 juin 2008StatutMembreDernière intervention 8 août 2008 8 août 2008 à 09:58
Salut,
Oui effectivement, je veux automatiser cela.
Au travail, je dois sortir parfois une centaine de documents. Il y en a certains qui doivent être en A4 recto d'autres en A3 RectoVerso...c'est pas évident puisque chaque imprimante a son propre logiciel de configuration..
Je vais ouvrir une nouvelle discussion dans le forum.
dezbut
Messages postés12Date d'inscriptionlundi 20 novembre 2000StatutMembreDernière intervention13 août 2008 8 août 2008 à 11:04
Bonjour,
Pour que le format du papier soit A3, utilise ça :
Activesheet.Pagesetup.PaperSize = xlPaperA3
Pour retourner au format A4 évidemment la propriété doit devenir xlPaperA4
Je crois (sans grandes convictions) que pour le recto verso il faut utiliser ça, mais je n'ai pas de quoi essayer :
Activesheet.PrintOut ManualDuplexPrint:=True
sdfred
Messages postés7Date d'inscriptionlundi 30 juin 2008StatutMembreDernière intervention 8 août 2008 8 août 2008 à 13:40
Merci, mais ça ne paramètre que l'imprimante pour excel.
Si j'imprime mon pdf via shellexecute, il ne prendra pas en compte que les parametres de l'imprimante par défaut.
Il ne prendra pas en compte les parametres de l'imprimante pour excel.
en fait il faudrait trouver une commande shell et peut etre sendkeys (?) pour paramétrer l'imprimante??
dezbut
Messages postés12Date d'inscriptionlundi 20 novembre 2000StatutMembreDernière intervention13 août 2008 8 août 2008 à 14:10
Eh oui c'est vrai, désolé...
Il y a toujours moyen de s'en sortir avec des sendkeys, mais c'est pas super élégant, ça fait un peu bricolo et puis ça ne marche pas toujours de la même manière sur toutes les machines...
sdfred
Messages postés7Date d'inscriptionlundi 30 juin 2008StatutMembreDernière intervention 8 août 2008 8 août 2008 à 16:02
je pense que c'est impossible..
tu peux récupérer des infos sur l'impression, le nom de l'imprimante.
Mais pour la paramétrer je ne vois pas comment vba (ou un autre language) pourrait le faire