Email tekst uitlijnen/inspringen/tab in body

Status
Niet open voor verdere reacties.

Boboes

Gebruiker
Lid geworden
5 nov 2016
Berichten
45
Het lukt me wel om bepaalde mailtekst te genereren, inclusief op te halen variabelen, maar ik wil bij de regels met datum, tijdstip en locatie dat de dubbele punt op plek komt te staan zodat de bijbehorende waarden netjes onder elkaar komen. Met vbTab lukt dat niet netjes. Ik weet dat dit met HTML body zou moeten kunnen (tabel?) en een fixed width lettertype maar ben niet thuis in HTML. Kan iemand mij helpen?

Code:
With OutMail

    .SentOnBehalfOfName = "afzender@test.nl"
    .To = Cell.Value
    .Subject = "Uitnodiging gesprek"
                
    .Body = "Beste " & Cells(Cell.Row, "C").Value & "," & vbNewLine & vbNewLine & _
            "Graag willen wij je uitnodigen voor een gesprek." & vbNewLine & vbNewLine & _
            "Datum" & ": " & Cells(Cell.Row, "J").Value & vbNewLine & _
            "Tijdstip" & ": " & Format(Cells(Cell.Row, "K"), "hh:mm") & " uur" & vbNewLine & _
            "Locatie" & ": " & Cells(Cell.Row, "L").Value & vbNewLine & vbNewLine & _
            "Met vriendelijke groet," & vbNewLine & vbNewLine & _
            "Test Team" & vbNewLine & _
            "Afdeling Test"
                
    .Display  'Or use Send

End With

Bij voorbaat dank voor de hulp!

Christ
 
Daar heb je geen HTML kennis voor nodig.
Kijk eens naar dit voorbeeld en de ervoor gebruikte code:
Bekijk bijlage Boboes.xlsm
 
Laatst bewerkt:
Misschien voor de sjeu.
Code:
Sub hsv()
s00 = "<table border=1 bgcolor=FFFFFF>"
Set cell = [a1]
  s01 = "Beste " & Cells(cell.Row, "C").Value & "," & "</P>"    ' "</P>"= vbnewline
  s02 = "<br></br>"
  s03 = "Graag willen wij je uitnodigen voor een gesprek." & "</P>"
  s04 = "Datum: " & Cells(cell.Row, "J") & "</P>"
  s05 = "Tijdstip: " & Format(Cells(cell.Row, "K"), "hh:mm") & " uur"
  s06 = "Locatie: " & Cells(cell.Row, "L")
  s07 = "</table><P></P><P></P>"
  s08 = "Met vriendelijke groet," & "</P>" & s02 & "Test Team" & "</P>" & "Afdeling Test"


With CreateObject("outlook.application").CreateItem(0)
 .To = cell.Value
 .Subject = "Managment " & Date
 '.htmlbody = s01 & s02 & s03 & s02 & s00 & s04 & s07 & s00 & s05 & s07 & s00 & s06 & s07 & s02 & s08
 .htmlbody = s01 & s02 & s03 & s02 & s00 & s04 & s05 & s02 & s06 & s07 & s02 & s08
 .display
End With
End Sub
 
@ edmoor: Bedankt voor je voorbeeldbestand. De wijze waarop de mailverzending tot stand komt geeft mij weer nieuwe inzichten! Maar met spaties had ik ook al wat zitten spelen en dan krijg je de uitlijning redelijk goed maar niet overal even gelijk (in echte bestand heb ik nog wat meer regels die op dezelfde manier moeten worden uitgelijnd). Misschien dan toch maar op die manier doen...

@Harry:bedankt voor jouw bijdrage. Geeft mij iets meer inzicht in de wijze waarop je HTML kunt gebruiken en hoe je dat kunt opbouwen. Mooi dat er zo een kader omheen kan worden getekend! Zal ik zeker kunnen gebruiken!

Christ
 
Een kader kan met mijn methode ook:
Kader.JPG
 
Laatst bewerkt:
Beste edmoor, bedankt voor de aanvulling om ook met jouw oplossing een kader te kunnen tekenen. Dat is mooi! :d Weer wat geleerd, top!

Gr. Christ
 
Je kan het in Excel zo opmaken als je maar wil.
Zo zal het ook in de mail te zien zijn.
Met dank aan de RangeToHTML functie van Ron de Bruin.
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan