hennie2504
Gebruiker
- Lid geworden
- 8 mei 2013
- Berichten
- 8
Goedendag allemaal,
Ten eerst hartstikke bedankt op voorhand voor iedereen die een blik werpt op deze post!
Probleemstelling / doel:
Momenteel ontvang ik op grote schaal emails met hierin één factuur en één of twee werkbonnen die betrekking hebben op de eerder genoemde factuur. Het is nu erg veel werk om per email de aanwezige bijlagen samen te voegen tot één document. Het uitgangspunt voor deze macro is dat elke email betrekking heeft op één factuur. Of kortom gezegd alle PDF documenten in een email mogen samen worden gevoegd en is onafhankelijk van bestandsnamen.
In het verleden heb ik ooit eens een marco (m.b.v. andere topics) gemaakt in Outlook die door emails heen loopt en alle bijlagen opslaat in een opgegeven directory. Nu zou ik graag dus onderstaande macro uit willen breiden met de wens die bij de doelstelling hierboven is aangegeven.
Macro die door de emails heen loopt:
Om te mergen heb je third party nodig en in mijn geval is dit Adobe Acrobat. Ik heb uiteraard al druk gezocht in andere topics en veelbelovende topics waren o.a.:
1.http://www.vbaexpress.com/forum/show...-a-little-help
2 .https://stackoverflow.com/questions/...o-one-pdf-file
Echter krijg ik het niet voor elkaar om alles in elkaar te passen en loop al een tijdje vast.
Zou iemand van jullie mij verder op weg kunnen helpen? Als er aanvullende info nodig is hoor ik dit natuurlijk graag!
Alvast super bedankt.
Ten eerst hartstikke bedankt op voorhand voor iedereen die een blik werpt op deze post!
Probleemstelling / doel:
Momenteel ontvang ik op grote schaal emails met hierin één factuur en één of twee werkbonnen die betrekking hebben op de eerder genoemde factuur. Het is nu erg veel werk om per email de aanwezige bijlagen samen te voegen tot één document. Het uitgangspunt voor deze macro is dat elke email betrekking heeft op één factuur. Of kortom gezegd alle PDF documenten in een email mogen samen worden gevoegd en is onafhankelijk van bestandsnamen.
In het verleden heb ik ooit eens een marco (m.b.v. andere topics) gemaakt in Outlook die door emails heen loopt en alle bijlagen opslaat in een opgegeven directory. Nu zou ik graag dus onderstaande macro uit willen breiden met de wens die bij de doelstelling hierboven is aangegeven.
Macro die door de emails heen loopt:
Code:
'VBA script om bijlagen op te slaan Q-schijf
On Error GoTo GetAttachments_err
'Hier worden de variabelen gedefineeerd
Dim ns As NameSpace
Dim Inbox As MAPIFolder
Dim item As Object
Dim Atmt As Attachment
Dim FileName As String
Dim i As Integer
Dim Gebruiker As String
Dim varResponse As VbMsgBoxResult
Dim SubFolder As MAPIFolder
Set ns = GetNamespace("MAPI")
Set Inbox = ns.Folders("Map XXXX").Folders("Postvak IN")
Set SubFolder = Inbox.Folders("Map XXXX")
i = 0
'Hier wordt er gekeken of er berichten zijn in het postvak XXXXX
If SubFolder.Items.Count = 0 Then
MsgBox "There are no messages in the Sales Reports folder." _
, vbInformation, "Niets gevonden!"
Exit Sub
End If
'Hier wordt in elk bericht gekeken of er een PDF bijlage aanwezig is
If SubFolder.Items.Count > 0 Then
For Each item In SubFolder.Items
For Each Atmt In item.Attachments
If Right(Atmt.FileName, 3) = "PDF" Then
FileName = "M:\XXXXXX\" & Atmt.FileName
Atmt.SaveAsFile FileName
i = i + 1
End If
Next Atmt
Next item
End If
'Geeft de resultaten weer, dus hoeveel bestanden er zijn opgeslagen!
If i > 0 Then
varResponse = MsgBox("Er zijn " & i & " bijlagen gevonden." _
& vbCrLf & "Ze zijn opgeslagen op de Q-schijf" _
& vbCrLf & vbCrLf & "Wil je ze bijlagen bekijken?" _
, vbQuestion + vbYesNo, "Klaar!")
'Opent de bestandsmap
If varResponse = vbYes Then
MsgBox "Dit is nog onder constructie!"
End If
Else
MsgBox "Er zijn geen bijlagen gevonden!", vbInformation, "Klaar!"
End If
'Zorgt ervoor dat het geheugen wordt leeggemaakt (betere performance)
GetAttachments_exit:
Set Atmt = Nothing
Set item = Nothing
Set ns = Nothing
Exit Sub
'Foutmeldingen afvangen, hier word de foutcode makkelijk getoond!
GetAttachments_err:
MsgBox "Er is een fout opgetreden!" _
& vbCrLf & "Geef de volgende informatie door aan de beheerder:" _
& vbCrLf & "Macro Name: GetAttachmentsMcDCSN" _
& vbCrLf & "Error Number: " & Err.Number _
& vbCrLf & "Error Description: " & Err.Description _
, vbCritical, "Error!"
Resume GetAttachments_exit
End Sub
Om te mergen heb je third party nodig en in mijn geval is dit Adobe Acrobat. Ik heb uiteraard al druk gezocht in andere topics en veelbelovende topics waren o.a.:
1.http://www.vbaexpress.com/forum/show...-a-little-help
2 .https://stackoverflow.com/questions/...o-one-pdf-file
Echter krijg ik het niet voor elkaar om alles in elkaar te passen en loop al een tijdje vast.
Zou iemand van jullie mij verder op weg kunnen helpen? Als er aanvullende info nodig is hoor ik dit natuurlijk graag!
Alvast super bedankt.