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 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94
| Private Sub CommandButton1_Click()
CommandButton1.Caption = "Choix du dossier"
Dim LastRow As Integer
Dim i As Integer, j As Integer
Dim Fichiers() As Variant
Dim Pdf As Object
Dim Repertoire As FileDialog
Dim Dossier As String, Rep As String, sNomFichierPDF As String, sFichier As String
'### Dossier de travail ###'
Set Repertoire = Application.FileDialog(msoFileDialogFolderPicker)
Repertoire.Show
If Repertoire.SelectedItems.Count > 0 Then
MsgBox Repertoire.SelectedItems(1)
Else
Exit Sub
End If
Rep = Repertoire.SelectedItems(1)
'### Impression des Documents###'
CommandButton1.Caption = "Impression des Documents"
Set Pdf = CreateObject("pdfforge.Pdf.Pdf")
j = 0
LastRow = Feuil1.Range("A" & Rows.Count).End(xlUp).Row
For i = 5 To LastRow
If Feuil1.Range("A" & i) = "o" Then
sFichier = Feuil1.Cells(i, 6).Hyperlinks(1).Address
ReDim Preserve Fichiers(j)
Fichiers(j) = sFichier
j = j + 1
End If
Next i
Pdf.MergePDFFiles_2 Fichiers, Rep & "\Liste Documents.pdf", True
Set Pdf = Nothing
Erase Fichiers
'### Numerotation Documents###'
CommandButton1.Caption = "Numérotation des pages"
Dim pdfText As Object, WshShell As Object
Dim NombrePages As Integer
Dim Chantier As String
Set WshShell = CreateObject("WScript.Shell")
Set Pdf = CreateObject("pdfforge.pdf.pdf")
Chantier = Feuil6.Range("C7")
Set pdfText = CreateObject("pdfforge.pdf.pdfText")
With pdfText
.Text = Chantier & " - " & "[PAGE] / [PAGES]"
.FontColorBlue = 0
.FontColorGreen = 0
.FontColorRed = 0
.FontName = "arial.ttf"
.FontPath = WshShell.SpecialFolders("Fonts")
.FontSize = 12
End With
NombrePages = Feuil6.Range("T26")
Pdf.AddPageNumberToPDFFile Rep & "\Liste Documents.pdf", Rep & "\Liste Documents NumPages.pdf", 1, NombrePages, 1, NombrePages, 6, 15, 10, pdfText
Kill Rep & "\Liste Documents.pdf"
Set pdfText = Nothing Set Pdf = Nothing Set WshShell = Nothing
'### Assemblage des 3 PDF ###'
CommandButton1.Caption = "Assemblage"
Dim Merge(2)
Set Pdf = CreateObject("pdfforge.pdf.pdf")
Merge(0) = Rep & "\Cartouche.pdf" Merge(1) = Rep & "\Sommaire.pdf" Merge(2) = Rep & "\Liste Documents NumPages.pdf"
Pdf.MergePDFFiles_2 Merge, Rep & "\Liste Documents.pdf", False
Kill Rep & "\Liste Documents NumPages.pdf" Kill Rep & "\Cartouche.pdf" Kill Rep & "\Sommaire.pdf"
Set Pdf = Nothing
End Sub |
Partager