Outlook 2007, Digitale handtekening gebruiken

Status
Niet open voor verdere reacties.

jackfish

Gebruiker
Lid geworden
10 sep 2010
Berichten
297
Met dank aan Octafish gebruik ik met succes onderstaande code. Nou zou ik alleen graag mijn digitale handtekening (default) gebruiken onder de gegenereerde mail. Op welke manier roep je die aan in VBA?

Private Sub cmdMail_Click()
Dim sMail(4) As String
Dim oMail As Outlook.MailItem
sMail(0) = Me.txtEmail
sMail(1) = Me.txtNaam
sMail(2) = Me.txtGeboortedatum
sMail(3) = Me.txtBSN_Nummer
Unload Me
Set oMail = Outlook.CreateItem(olMailItem)
oMail.To = sMail(0)
oMail.body = "Naam: " & sMail(1) & vbCrLf & _
"Geboren: " & sMail(2) & vbCrLf & _
"BSN nummer:" & sMail(3)
oMail.Display
End Sub

Gr jackfish
 
De standaard handtekening wordt kennelijk overschreven door wat je in de body toevoegt.
Probeer het eens zo:

Code:
Private Sub cmdMail_Click()
    Dim sMail(4) As String
    Dim sSignature As String
    Dim oMail As Outlook.MailItem

    sMail(0) = Me.txtEmail
    sMail(1) = Me.txtNaam
    sMail(2) = Me.txtGeboortedatum
    sMail(3) = Me.txtBSN_Nummer
    Unload Me

    Set oMail = Outlook.CreateItem(olMailItem)
    sSignature = oMail.Body
    oMail.To = sMail(0)
    oMail.body = "Naam: " & sMail(1) & vbCrLf & _
        "Geboren: " & sMail(2) & vbCrLf & _
        "BSN nummer:" & sMail(3) & vbCrLf & _
        sSignature

    oMail.Display
End Sub
 
Laatst bewerkt:
Dank voor de snelle reactie edmoor. De handtekening komt helaas niet onder de mail. be advised gr jackfish
 
Ok, die had ik ook niet getest en heb het iets anders gedaan.
Deze doet het bij mij goed, waarbij ook de opmaak van de handtekening wordt bewaard.

Code:
Sub HTtest()
    Dim OApp As Object
    Dim OMail As Object
    Dim sSignature As String

    Set OApp = CreateObject("Outlook.Application")
    Set OMail = OApp.CreateItem(0)

    With OMail
        .BodyFormat = olFormatHTML
        .Display
        sSignature = OMail.HTMLBody
        .To = "Email adres(sen)"
        .Subject = "Onderwerp"
        .HTMLBody = "Tekst voor de mail" & vbNewLine & sSignature
    End With

    Set OMail = Nothing
    Set OApp = Nothing
End Sub

Dat kun je vast als voorbeeld gebruiken om je eigen Sub aan te passen.
 
Laatst bewerkt:
Dat werkt edmoor! Geweldig. Ik ga nu op zoek waarom de code vbNewLine en vbCrLf niet resulteert in een nieuwe regel.

Private Sub CommandButton1_Click()
Dim sMail(4) As String
Dim OMail As Outlook.MailItem

sMail(1) = Me.TxtNaam
sMail(2) = Me.txtGeboortedatum
sMail(3) = Me.txtBSN_Nummer
Unload Me

Set OMail = Outlook.CreateItem(olMailItem)
OMail.To = sMail(0)
With OMail
.BodyFormat = olFormatHTML
.Display
sSignature = OMail.HTMLBody
.To = "Email adres(sen)"
.Subject = "Contact met: " & TxtNaam.Text & " " & txtGeboortedatum.Text
.HTMLBody = "Tekst voor de mail" & vbNewLine & "Tekst voor de mail" & sSignature
End With

End Sub

gr jackfish
 
Het is nu een HTML body.
Dat is om de opmaak van je handtekening te behouden.
Kijk eens wat er gebeurd met "<br>" in plaats van vbNewLine.
 
Nu kun je ook leuke dingen doen met HTML in de opmaak van je mail bericht.
Have fun! :D
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan