Imprimer avec agraphage un document pdf depuis excel.

airvb

XLDnaute Nouveau
Bjr,
Possible ou carrément inconcevable ?

J' ai une bibliothèque documentaire de x fichiers .pdf . Chaque pdf comporte plusieurs pages.

Ce que je souhaite :
Récupérer la liste des documents à imprimer ... ca je sais faire

D'après cette liste lancer l'impression des différents documents .pdf.
Ca j'y arrive aussi.

Je voudrai que ces documents soit imprimés RECTO/VERSO et agrafés.

Et la j'arrive pas.

Grace au code suivant je peux imprimer, mais comment faire pour paramétrer via excel vba le module d’impression d'Acrobat reader pour lancer l'impression Recto/verso et agrafage !!!

Merci de vos idées.



Code:
  Declare Function FindWindow Lib "user32" _
      Alias "FindWindowA" ( _
        ByVal lpClassName As String, _
            ByVal lpWindowName As String) As Long
     
    Private 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


' impression pdf

Sub printpdf()


        Dim nomfichier As String
        Dim x As Long
       
        x = FindWindow("XLMAIN", Application.Caption)
        nomfichier = Range("F11")
       
       'ShellExecute x, "open", nomfichier, "", "", 1
        ShellExecute x, "print", nomfichier, "", "", 1

End Sub
 

Nairolf

XLDnaute Accro
Re : Imprimer avec agraphage un document pdf depuis excel.

Salut airvb,

Personnellement je ne pense pas qu'il soit possible de régler les propiétés de l'imprimante (l'agraphage en étant un) en vba.

Par contre si tu détermines des paramètres standards dans imprimante/ajuster paramètre d'impression, lorsque ton impression sera envoyée, elle se fera conformément à ces paramètres.
 

ERIC S

XLDnaute Barbatruc
Re : Imprimer avec agraphage un document pdf depuis excel.

Bonjour

normalement tu dois être en mesure de connaître la séquence manuelle pour paramétrer ton imprimante (les raccourcis, lettres soulignées des boites de dialogue impression, lettres à utiliser avec ctrl ou alt ou....)

si tu arrives à déterminer cette séquence, tu peux la reproduire avec sendkeys

par contre, il va falloir chercher tout seul, à distance et sans le même matériel.................... durdur de t'aider
 

PASCAL.FEFER

XLDnaute Nouveau
Bonjour,

J'ai le même problème.
J'ai tenté cette solution:
Dans ma procedure d'impression des fichiers pdf:
1° je change et je paramètre mon imprimante par défaut pour agrafé (Ne semble pas marcher)
2° j'imprime les documents

Sub ChoixDossierEtImpressionPdfs() ' La macro
Dim sInputPath, sBaseName, sPdfFilePath, sExt As String
'Dim i, j As Long
Dim Rep&
'Dim V() As Variant
Dim oFso As Object

If SelectPrinter Then 'Selection et configuration de l'imprimante
'Testé avec NuancePdf as default pdf reader
Else
GoTo NoPrinter
End If

Set oFso = CreateObject("Scripting.FileSystemObject")

sInputPath = "C:\" 'Chemin de départ
'---
'sChemin = ChoisirDossier
sInputPath = FGetFldr((sInputPath)) 'Chemin de départ
If sInputPath = "" Then
Exit Sub
Else
sInputPath = sInputPath & "\"
sBaseName = Dir(sInputPath)
Do While Len(sBaseName) > 0
'Compression des images
sExt = LCase(oFso.GetExtensionName(sBaseName))
sPdfFilePath = sInputPath & sBaseName
If sExt = "pdf" Then
PrintFile (sPdfFilePath)
End If
sBaseName = Dir
Loop


End If


Rep& = MsgBox(prompt:="Voulez-vous ouvrir le dossier des pdfs", Buttons:=vbYesNo)
If Rep& = vbYes Then Call Shell("Explorer.exe /n," & sInputPath, vbNormalFocus)
Set oFso = Nothing
Exit Sub
Erreur:
MsgBox prompt:="Aucun pdf n'a été trouvé dans " & sInputPath, Title:=Err.Number
Set oFso = Nothing
NoPrinter:
MsgBox prompt:="Aucune imprimante n'a été sélectionnée", Title:=Err.Number
End Sub

'Print Pdf
Function SelectPrinter() As Boolean
SelectPrinter = Application.Dialogs(xlDialogPrinterSetup).Show
End Function
 

Statistiques des forums

Discussions
314 628
Messages
2 111 333
Membres
111 103
dernier inscrit
Maxime@mar