Thankyou
Terugkerende gebruiker
- Lid geworden
- 3 mei 2009
- Berichten
- 1.737
Beste,
Ik heb een bestand met zo'n 24 tabbladen. Op elk tabblad staat een mailadres waarnaar verstuurd moet worden, tot zover geen probleem.
Elke ontvanger (via het email adress op het tabblad) krijgt een eigen, unieke bijlage. Het bestand wat bijgevoegd (PDF) wordt bestaat gedeeltelijk uit een vaste bestandsnaam en gedeeltelijk uit waarden die van het tabblad worden gehaald.
De uitdaging is nu dat de eerste inderdaad het unieke bestand toegestuurd krijgt, de 2e krijgt zijn unieke bijlage ook maar ook die van de eerste. En ja de 3e krijgt 3 bestanden. Het is de bedoeling dat elk alleen hun eigen bestand toegestuurd krijgen en niet die van de ander.
Dit is de code:
In de bovenstaande code en in het bijgevoegde bestand heb ik uit privacy overweging de gebruikte e-mail adressen en wachtwoord moeten veranderen / weglaten.
Ik heb een bestand met zo'n 24 tabbladen. Op elk tabblad staat een mailadres waarnaar verstuurd moet worden, tot zover geen probleem.
Elke ontvanger (via het email adress op het tabblad) krijgt een eigen, unieke bijlage. Het bestand wat bijgevoegd (PDF) wordt bestaat gedeeltelijk uit een vaste bestandsnaam en gedeeltelijk uit waarden die van het tabblad worden gehaald.
De uitdaging is nu dat de eerste inderdaad het unieke bestand toegestuurd krijgt, de 2e krijgt zijn unieke bijlage ook maar ook die van de eerste. En ja de 3e krijgt 3 bestanden. Het is de bedoeling dat elk alleen hun eigen bestand toegestuurd krijgen en niet die van de ander.
Dit is de code:
Code:
Private Sub CommandButton1_Click()
Locy = ActiveWorkbook.Path
Dim iMsg As Object
Dim iConf As Object
Dim strbody As String
Dim Flds As Variant
Dim BestandSend As String
Set iMsg = CreateObject("CDO.Message")
Set iConf = CreateObject("CDO.Configuration")
iConf.Load -1 ' CDO Source Defaults
Set Flds = iConf.Fields
With Flds
.Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = True
.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
.Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = "Test@Gmail.com" 'email adres invullen
.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "Password" 'wachtwoord invullen
.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.gmail.com"
.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
.Update
End With
For mail = 1 To 3
loc2 = Locy & "\Test " & Sheets(mail).Range("C1").Value & " verzonden"
BestandSend = loc2 & "\" & Sheets(mail).Range("B1").Value & " test " & Sheets(mail).Range("C1").Value & " verzonden.pdf"
strbody = "Beste " & Sheets(mail).Cells(1, 6).Value & vbNewLine & vbNewLine & _
"Testmail " & Sheets(mail).Range("C1").Value & vbNewLine & _
" Testregel" & vbNewLine & _
" Testregel" & vbNewLine & vbNewLine & _
"testregel" & vbNewLine & _
"Test"
With iMsg
Set .Configuration = iConf
.To = Sheets(mail).Cells(1, 5).Value
.CC = ""
.BCC = ""
.From = """ Bestanden verzonden "" <test@gmail.com>"
.ReplyTo = Sheets(mail).Cells(1, 26).Value
.Subject = "Verzonden bestanden " & Sheets(mail).Cells(1, 3).Value
.TextBody = strbody
.AddAttachment BestandSend
.Send
End With
Next
End Sub
In de bovenstaande code en in het bijgevoegde bestand heb ik uit privacy overweging de gebruikte e-mail adressen en wachtwoord moeten veranderen / weglaten.