Meerdere PDF files meesturen in mail (outlook)

Status
Niet open voor verdere reacties.

KurtA

Nieuwe gebruiker
Lid geworden
20 apr 2015
Berichten
4
Hallo,

Mijn database is gebasseerd op verschillende zendingen met verschillende orders.
Tabel 1 = zendingen met specifieke nummer
Tabel 2 = Orders behorende bij deze zendingen

Ik weet al hoe ik 1 file in bijlage in een mail kan meesturen door een link te maken naar deze file op een netwerk.
Bv. .Attachments.Add "K:\Test\Test\123.pdf"
Die 123 kan ook een link zijn naar een textbox.

Nu wil ik een mail sturen met in bijlage alle PDF’s per orders die bij deze zending horen.
De PDF’s staan op het netwerk en de naam komt overeen met de ordernummers.
Kan er misschien iemand mij de Vba code bezorgen hiervoor?
 
Post je hele code eens.
 
Dit is eentje waar ik dat bijvoorbeeld zou willen invoegen.
De eerste file dat ik hier meestuur is wel een rapport vanuit de database zelf.
Ik hoop dat je hier iets mee kan doen.:rolleyes:


Private Sub cmdSendmail_Click()
Dim db As DAO.Database
Dim rs As DAO.Recordset
Dim objfolder As Object
Dim appOutLook As Outlook.Application
Dim MailOutLook As Outlook.MailItem
Dim strFile As String

Set objfolder = CreateObject("wscript.shell").specialfolders
strFolder = objfolder("mydocuments")
On Error Resume Next
If Dir(strFolder & "\Reports\") = "" Then MkDir strFolder & "\Reports"
On Error GoTo 0
strFile = strFolder & "\Reports\CS_Report_" & Me.ID & ".pdf"
DoCmd.OutputTo acOutputReport, "Mail Customer Service", acFormatPDF, strFile, False

On Error Resume Next
' netwerklocatie schrijven
DoCmd.OutputTo acOutputReport, "Mail Customer Service", acFormatPDF, "\\sjm\bru1\test.pdf", False
On Error GoTo 0

Set appOutLook = CreateObject("Outlook.Application")
Set MailOutLook = appOutLook.CreateItem(olMailItem)

'appOutLook.screenupdating = False
'Mail voor transport
With MailOutLook
.To = "kadams@sjm.com"
'.To = nz(me.email_1,"") & ";" & nz(me.email_2,"") & ";" & nz(me.email_3,"") ' voorbeeld van form shipments
.Subject = "Measurements for " & Me.ID & " are done!"
.Body = "Dit is een bericht voor testing" & Chr(13) & "dit is de tweede lijn" & Chr(13) _
& "Boxes: " & Me.[measurements Subform].Form.text15
' .Attachments.Add (Me.Mail_Attachment_Path)
.Send
End With
Set MailOutLook = Nothing
'Mail voor Customer Service

Set db = CurrentDb
Set rs = db.OpenRecordset("Select * from customers where [Ship to]='" & Me.txtCustomer & "'", dbOpenDynaset)

Set MailOutLook = appOutLook.CreateItem(olMailItem)
If rs.Fields("MailMeaurementsCS") = True Then 'If rs.Fields("MailMeaurementsCS") Then
With MailOutLook
.To = "kadams@sjm.com"
'.BCC = "kadams@sjm.com"
.Subject = "Measurements for " & Me.ID & " are done!"
.Body = "Dit is een bericht voor testing" & Chr(13) & "dit is de tweede lijn" & Chr(13) _
& "Boxes: " & Me.[measurements Subform].Form.text15
.Attachments.Add strFile
.Send
End With
End If

'appOutLook.screenupdating = False
Set MailOutLook = Nothing
'appOutLook.Quit
'Set appOutLook = Nothing
rs.Close
Set rs = Nothing
Set db = Nothing

End Sub
 
Meerdere bestanden toevoegen doe je met een lus.

Code:
Dim strfile As String
strfile = Dir("strFolder & "\Reports\*")
    Do Until strfile = ""
       .Attachments.Add  strfile
      strfile = Dir
  Loop
 
Laatst bewerkt:
Dag Harry,

Hier maak je een verwijzing naar een directory.
Kan je ook een verwijzing maken naar een tabel in dezelfde database?
 
Dit bedoel je?
Code:
dim cl as range
for each cl in range("a1:a10").specialcells(2)
       .Attachments.Add  cl
     next cl
 
Als ik me niet vergis is dit in Excell, maar ik zoek het voor Access.
 
Begin eens met je oorspronkelijke code op te maken met de CODE knop. Handigste manier: zet vóór de code de tekst (zonder de spaties) [ code ], en áchter de code de tekst [ /code ] (ook weer zonder spaties). Dan ziet hij er een stuk netter uit, zoals het voorbeeld van HSV.
Overigens wordt de term 'database' ook in Excel gebruikt, dus je had inderdaad moeten vermelden dat het om een Access vraag ging :).
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan