Mail versturen vanuit VBA met opgemaakte HTML Body

Status
Niet open voor verdere reacties.

VBAJAAP

Gebruiker
Lid geworden
14 aug 2013
Berichten
46
Beste Lezers,

Ik ben bezig met een database waarbij in één van de formulieren een knop zit om een factuurtje naar een klant te versturen.
Het versturen van de mail met de knop gaat goed. een referentie in het onderwerp obv de factuur en klantgegevens gaat ook goed.
Nu wil ik de body van het bericht enigszins 'mooi' opmaken. Een algemene tekst met een logootje er in.
Ik heb uiteraard al zitten zoeken op internet, maar ik vind het toch behoorlijk ingewikkeld.

Is er een methode waarbij je in, bijvoorbeeld, Word een messagebody kunt maken en deze dan op een eenvoudige manier in de VBA code kunt plakken?!
 
Eenvoudige manier is er niet, je zult de complete mail van HTML tags moeten voorzien. En dan nog weet je niet hoe de mail er aan de andere kant uitziet. Je kunt bijvoorbeeld een tag H1 meegeven, maar bij jou is dat waarschijnlijk een ander font dan bij mij.
 
Beste Octafish,

Je geeft me een beetje de indruk dat dit niet de juiste manier is om een 'mooi' opgemaakte mail via VBA te versturen.
Voor mij geldt dat het doel belangrijker is dan de weg er naar toe; Wellicht heb je een suggestie om op een andere manier een opgemaakte mail met logo te versturen (misschien obv een sjabloon ofzo?)

Gr.

Jaap.
 
Altijd mooi als je het doel kan bereiken :).
Je kunt een OFT sjabloon koppelen aan je bericht, maar dat lost het probleem van de opmaak niet op. Ook al heb je in die sjabloon vaste opmaak zitten, dan nog krijgt de tekst die je vanuit Access erbij wurmt de default tekst opmaak, tenzij je dus vanuit je VB code opmaak meegeeft. Een voorbeeldje:
Code:
Public Function SendEmail()
Dim myOlApp As Outlook.Application
Dim MyItem As Outlook.MailItem
Dim objOutlookAttach As Outlook.Attachment

    Set myOlApp = CreateObject("Outlook.Application")
''    Set MyItem = myOlApp.CreateItemFromTemplate("C:\Documents and Settings\......Microsoft\Templates\EmailTemplate.oft")
    Set MyItem = myOlApp.CreateItemFromTemplate("H:\Mijn documenten\Downloads\OneDrive-2016-02-22\Visitekaartjes 2.oft")
    With MyItem
        .BodyFormat = olFormatHTML
        .Subject = "Onderwerp"
        'Hier de email adressen
        .To = "emailAddress@email.com"
        'Email versturen vanuit een specifieke email account
         .SentOnBehalfOfName = "myEmailAddress@email.com"
        .HTMLBody = "<span style=""font-family: Corbel; font-size: 11pt;"">"
        .HTMLBody = .HTMLBody & "<body><p>Beste mensen,"
        .HTMLBody = .HTMLBody & "<p>Eerste regel tekst!"
        .HTMLBody = .HTMLBody & "<br>Tweede regel tekst..."
        .HTMLBody = .HTMLBody & "<br>Derde regel tekst..."
        .HTMLBody = .HTMLBody & "<p><p>"
        .HTMLBody = .HTMLBody & "En zo door tot het einde..."
        .HTMLBody = .HTMLBody & "<p><p>"
        .HTMLBody = .HTMLBody & "met vriendelijke groet,</p><p><p>Regards</p></span></body>"
        'Zijn er bijlagen, dan komen die hier
''        If Not IsMissing(strPathFileFinal) Then
''            Set objOutlookAttach = .Attachments.Add(strPathFileFinal)
''        End If
        .Display
    End With

    Set MyItem = Nothing
    Set myOlApp = Nothing

End Function
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan