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 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
|
Sub MergePDFViaImpressionPdf()
Dim CtrI As Long
Dim oPDF As PdfCreatorObj
Dim Q As PDFCreator_COM.Queue
Dim job As PDFCreator_COM.PrintJob
Dim CheminFichierFusionne As String, NomFichierFusionne As String, RepertoirePdf As String, ChaineATrouver As String
Dim Fso As Object, Fich As Object
On Error GoTo Fin
ChaineATrouver = ".pdf"
CheminFichierFusionne = ActiveWorkbook.Path & "\" ' A adapter
NomFichierFusionne = CheminFichierFusionne & "Fusion 01.pdf"
RepertoirePdf = ActiveWorkbook.Path & "\Répertoire de fusion"
Set Fso = CreateObject("Scripting.FileSystemObject")
Set oPDF = New PdfCreatorObj
With oPDF
For Each Fich In Fso.getfolder(RepertoirePdf).Files
If InStr(1, LCase(Fich.Name), ChaineATrouver, vbTextCompare) > 0 Then
.AddFileToQueue RepertoirePdf & Application.PathSeparator & Fich.Name
End If
Next Fich
End With
Set Q = New PDFCreator_COM.Queue
With Q
.Initialize
.WaitForJobs 2, 10
Debug.Print "q.Count: " & Q.Count
.MergeAllJobs
End With
While Q.Count > 0
Set job = Q.NextJob
job.SetProfileByGuid ("DefaultGuid")
job.ConvertTo (NomFichierFusionne) '(OutPath)
Wend
Q.ReleaseCom
MsgBox "Fin de fusion !", vbInformation
GoTo Fin
Fin:
Set Fso = Nothing
Set job = Nothing
Set Q = Nothing
Set oPDF = Nothing
End Sub |
Partager