Vba script til at merge generede pdf'er
Hej Eksperter.Jeg sidder og har lavet et script, der smider 5 pdf'er ud efter kørsel - dem vil jeg gerne have merget pr. automatik (kender jo navne og stier, så det burde ikke være noget problem).
Fandt denne kode: http://groups.google.dk/group/microsoft.public.access.modulesdaovba/browse_thread/thread/323c82b84ff0b4be/63cda5bc7124c3a6?lnk=st&q=vba+merge+pdf#63cda5bc7124c3a6
'---------------- START CODE ---------------------
Option Compare Database
Option Explicit
Private colDOCS As Collection 'PDF Files to merge
Private strDestination As String 'Destination PDF Doc.
Private bolDeleteCoverPage As Boolean
Sub AddFile(strNewData As String)
colDOCS.ADD strNewData
End Sub
Sub ClearFileList()
'PURPOSE: remove Files in Collection. Set Collection to nothing and reinitalize
If Not colDOCS Is Nothing Then Set colDOCS = Nothing
Set colDOCS = New Collection
End Sub
Property Let Destination(strDest As String)
strDestination = strDest
End Property
Function Merge() As Long
On Error GoTo Proc_Error
Dim objAcroApp As Acrobat.CAcroApp
Dim objAcroDoc As Acrobat.CAcroPDDoc
Dim objAcroDocSrc As Acrobat.CAcroPDDoc
Dim lngRetVal As Long
Dim I As Long
Dim lngPage As Long
Set objAcroApp = CreateObject("AcroExch.App")
Set objAcroDoc = CreateObject("AcroExch.PDDoc")
Set objAcroDocSrc = CreateObject("AcroExch.PDDoc")
lngRetVal = objAcroDoc.Open(colDOCS.Item(1))
lngPage = objAcroDoc.GetNumPages
For I = 2 To colDOCS.Count
lngRetVal = objAcroDocSrc.Open(colDOCS.Item(I))
If lngRetVal = False Then
MsgBox ("Error Opening " + colDOCS.Item(I))
Merge = False
GoTo Proc_Exit
End If
Merge = objAcroDoc.InsertPages((lngPage - 1), objAcroDocSrc, 0, objAcroDocSrc.GetNumPages, False)
lngPage = lngPage + objAcroDocSrc.GetNumPages
objAcroDocSrc.Close
Next I
objAcroDoc.CreateThumbs 0, lngPage - 1
Merge = objAcroDoc.Save(PDSaveFull, strDestination)
objAcroDoc.Close
objAcroApp.Exit
Proc_Exit:
If Not objAcroApp Is Nothing Then Set objAcroApp = Nothing
If Not objAcroDoc Is Nothing Then Set objAcroDoc = Nothing
If Not objAcroDocSrc Is Nothing Then Set objAcroDocSrc = Nothing
Exit Function
Proc_Error:
MsgBox Err.Description
Merge = Err.Number
Resume Proc_Exit
End Function
Private Sub Class_Initialize()
Set colDOCS = New Collection
End Sub
Private Sub Class_Terminate()
On Error Resume Next
If Not colDOCS Is Nothing Then Set colDOCS = Nothing
End Sub
'------------------- END CODE -------------------
Jeg forstår desværre bare hoved og hale af den :/ - og jeg kan ikke teste den, da mit vba ikke kender Acrobat.CAcroApp bl.a. :S
Håber nogen kan enten hjælpe mig med ovenstående kode, eller har en nem lille snild kode liggende, som jeg kan bruge til mit formål.
