Kan ik de optie ontvangstbevestiging in VBA code toevoegen aan email?

Status
Niet open voor verdere reacties.

ReijerdH

Gebruiker
Lid geworden
1 apr 2010
Berichten
95
Goedemiddag,

ik heb deze code voor het versturen van mijn e-mail aan de ontvangers. Graag zou ik de optie ontvangstbevestiging meegeven bij het versturen van de email. Tevens vraag ik mij af of ik in de .Body de tekst "Goedemorgen" door VBA automatisch kan laten vervangen door het dagdeel. Dus Goedemorgen/Goedemiddag of Goedenavond. Is dit mogelijk, ik hoor het graag?

Met vriendelijke groet,
Reijer

Code:
Private Sub btnVerstuur_Click()

Dim rs As Recordset
Dim OutApp As Outlook.Application
Dim OutMail As Outlook.MailItem
Dim OutAtt As Outlook.Attachments

Set rs = CurrentDb.OpenRecordset("SELECT * FROM TblMailAnimato WHERE NOT IsNull(Attachment)")
Set OutApp = CreateObject("Outlook.Application")

While Not rs.EOF
    Set OutMail = OutApp.CreateItem(olMailItem)
    Set OutAtt = OutMail.Attachments

    With OutMail
        .To = rs!To
        .Subject = "Bladmuziek EMM (Langstraat Proms Het Foutste Uur)"
        '.Body = rs!Body
         .Body = "Goedemorgen " & rs!FirstName & "," & vbNewLine & vbNewLine _
            & "Hierbij de email. " _
            & vbNewLine & vbNewLine & "Willen deze muziek afdrukken en meenemen." _
            & vbNewLine & vbNewLine & "Met vriendelijke groet," & vbNewLine & vbNewLine & _
            "Reijer"
         OutAtt.Add "" & rs!Attachment
        .Display
    End With
    
    Set OutMail = Nothing
    Set OutAtt = Nothing
 
Het 1e deel van de vraag heb ik al gevonden, sorry dat ik zelf niet even heb doorgezocht. Door deze 2 regels aan de email toe te voegen worden beide opties aangevinkt in de email.

Code:
.OriginatorDeliveryReportRequested = True
.ReadReceiptRequested = True
 
Gebruik "Goedendag "
Probleem opgelost :)
 
Wie wil er nou makkelijk als het ook mooi kan?

Code:
Private Sub btnVerstuur_Click()
Dim rs As Recordset
Dim OutApp As Outlook.Application
Dim OutMail As Outlook.MailItem
Dim OutAtt As Outlook.Attachments
Dim sDagdeel As String
        
    Set rs = CurrentDb.OpenRecordset("SELECT * FROM TblMailAnimato WHERE NOT IsNull(Attachment)")
    Set OutApp = CreateObject("Outlook.Application")
    Select Case Hour(Now)
        Case Is < 12
            sDagdeel = "Goedemorgen "
        Case 12 To 18
            sDagdeel = "Goedemiddag "
        Case Is > 18
            sDagdeel = "Goedenavond "
        Case Else
            sDagdeel = "Goedendag "
    End Select
    While Not rs.EOF
        Set OutMail = OutApp.CreateItem(olMailItem)
        Set OutAtt = OutMail.Attachments
        With OutMail
            .to = rs!to
            .Subject = "Bladmuziek EMM (Langstraat Proms Het Foutste Uur)"
            '.Body = rs!Body
             .Body = sDagdeel & rs!FirstName & "," & vbNewLine & vbNewLine & "Hierbij de email. " _
                & vbNewLine & vbNewLine & "Willen deze muziek afdrukken en meenemen." _
                & vbNewLine & vbNewLine & "Met vriendelijke groet," & vbNewLine & vbNewLine & "Reijer"
             OutAtt.Add "" & rs!Attachment
            .Display
        End With
    Wend
    Set OutMail = Nothing
    Set OutAtt = Nothing
End Sub
 
Bedankt OctaFish, dat is inderdaad de oplossing die ik graag wilde hebben. Zo ben ik weer een stukje verder met mijn programma.

Er is nog 1 ding waar ik niet uit kom en dat is het volgende: Er zijn leden die lid zijn van club 1 maar ook van club 2, om redundantie te voorkomen heb ik een tabel leden en een tabel club (vereniging). Er tussenin zit een tabel leden/club waardoor dit word afgevangen. Zodat veel leden van veel clubs lid kunnen zijn. Met een query kan ik dit filteren via een parameter het lukt mij alleen niet om op deze manier de emaillijst klaar te zetten voor verzending. Moet ik hiervoor een nieuw onderwerp starten want mijn eigenlijke vraag uit dit onderwerp zijn beiden opgelost.

Ik hoor het graag en nogmaals heel erg bedankt.

Groeten Reijer.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan