Modification des option d'impression d'un pdf VBA
Bonjour, je suis arrivé a faire une fonction vba pour imprimer un pdf, j'ai besoin maintenant de 3 choses :
-imprimer en recto/verso
-selectionner les pages a imprimer
-Pouvoir imprimer en A4/A3
Je ne sais pas du tout comment faire, j'ai cherché sur le forum mais j'ai rien trouvé de fonctionnel. Les sendkeys n'ont pas l'ai de fonctionner.
j'ai parametré les senkeys pour faire comme l'utilisateur devrait faire sur la fenêtre d'impression mais la fenêtre n'a même pas l'air de s'ouvrir. Le pdf s'ouvre et se referme sans imprimer.
Je vous mets le script :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
|
Private Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Public 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
Function imprTst(sPages As String, sFichier As String)
Dim sAcro As String
Dim Clip As MSForms.DataObject
sAcro = "C:\Program Files (x86)\Adobe\Acrobat Reader DC\Reader\AcroRd32.exe"
ShellExecute 0, vbNullString, sFichier, vbNullString, vbNullString, vbNormalFocus
Application.Wait (Now + TimeValue("00:00:03"))
SendKeys "^p", True
SendKeys "%g", True
SendKeys "{TAB}", True
SendKeys sPages, True
SendKeys "{TAB}", True
SendKeys "{TAB}", True
SendKeys "{TAB}", True
SendKeys "{TAB}", True
SendKeys "v", True
SendKeys "{ENTER}", True
KillAcrobatReader
Set Clip = Nothing
End Function
Private Sub KillAcrobatReader()
Shell "Taskkill /im AcroRd32.exe /f", 0
End Sub |
Voila, si quelqu'un a une piste pour le faire je suis preneur.
Merci