Découper un fichier pdf en pdf sous excel
Bonjour à tous,
actuellement je travaille sur une macro qui me permettrait de découper un fichier pdf (500 pages) en autant de fichier qu'il a de page, en renommant chaque fichier en fonction d'une valeur situé dans un tableau Excel.
l'idée principale est de faire une impression d'une page du document pdf en pdf.
j'ai alors ce code qui ne marche pas :
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 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 60
|
Dim ligne As Long
ligne = 2
Dim i As Long
'fichier à ouvrir
fichier= "D:\Documents and Settings\Bureau\test catalogue\test.pdf"
'on précise où l'on va stocker le fichier créer
chemin = "D:\Documents and Settings\Bureau\test catalogue\"
' a partir du fichier excel , on prend la valeur se trouvant sur la premiere colonne pour nommer le fichier ainsi creer
While ActiveSheet.Cells(ligne, 1).Value <> ""
'nom du fichier
NomPDF = left("Idée -" & ActiveSheet.Cells(ligne, 3).Value, Len("Idée -" & ActiveSheet.Cells(ligne, 4).Value) - 4) & ".pdf"
Set pdfjob = CreateObject("PDFCreator.clsPDFCreator")
With pdfjob
If .cStart("/NoProcessingAtStartup") = False Then
MsgBox "Initialisation de PDFCreator impossible", vbCritical + vbOKOnly, "PrtPDFCreator"
Exit Sub
End If
.cOption("UseAutosave") = 1
.cOption("UseAutosaveDirectory") = 1
.cOption("AutosaveDirectory") = chemin
.cOption("AutosaveFilename") = NomPDF
.cOption("AutosaveFormat") = 0 '0 pour pdf
.cClearCache
End With
i = ligne 1
ActivePrinter = "PDFCreator sur Ne00:"
Application.PrintOut Filename:="", Range:=fichier, Item:= _
PrintDocumentContent, From:=i, To:=i, Copies:=1
Application.PrintOut
Do Until pdfjob.cCountOfPrintjobs = 1
DoEvents
Loop
pdfjob.cPrinterStop = False
Do Until pdfjob.cCountOfPrintjobs = 0
DoEvents
Loop
With pdfjob
.cDefaultPrinter = DefaultPrinter
.cClearCache
.cClose
End With
Wend |
Quelqu'un pourrait il m'apporter son aide pour corriger et comprendre les erreurs commises ?
Merci :ccool:
JB