• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Tekstkleur VBA excel 2013

Status
Niet open voor verdere reacties.

Khalid23

Gebruiker
Lid geworden
12 aug 2015
Berichten
48
Hallo
ik heb een body voor een email geschreven in VBA.
Ik wil dat “Regel2” Vet rood wordt.
Hoe kan ik dat bepalen in VBA


Alvast bedankt,
Code:
    strbody = "regel1" & vbNewLine & vbNewLine & _
              "regel2" & vbNewLine & _
              "regel3 " & vbNewLine & _
              "regel4" & vbNewLine & _
              "regel5" & vbNewLine & _
              " " & vbNewLine & _
              "Met vriendelijke groet," & vbNewLine & _
              "naam"
 
Snb, kort door de bocht.
Maar waar :).

een oplossing zou kunnen zijn je bericht eerst weg te schrijven op een werkblad.
waarbij elke regel in een cel komt te staan. De tekst in elke afzonderlijke cel is dan eenvoudig te kleuren.

gebruik deze code Function RangetoHTML(rng As Range) van Ron de Bruin om je range in een email te plakken.
RangetoHTML


Lambert
 
Als ik onderstaande run komt het wel mooi in een cel te staan:
Code:
RowOne = "regel1" & vbNewLine & vbNewLine
RowTwo = "regel2" & vbNewLine
strbody = RowOne & RowTwo & _
    "regel3 " & vbNewLine & _
    "regel4" & vbNewLine & _
    "regel5" & vbNewLine & _
    " " & vbNewLine & _
    "Met vriendelijke groet," & vbNewLine & _
    "naam"

ActiveCell.Value = strbody
   
With ActiveCell.Characters(Len(RowOne) + 1, Len(RowTwo)).Font
    .FontStyle = "Vet"
    .Color = -16776961
End With
 
Laatst bewerkt:
Gijsbert,

Ja. Maar ook hier wordt de string eerst in een werkblad gezet.
Mijn veronderstelling is dat de string van TS rechtstreeks in een emailbody geplaatst wordt.
En dan is de kleuring (voor zover ik weet) niet mogelijk.
Dit valt echter niet te controleren zonder de rest van de code.

Maar correct me if i'm wrong.
Ik leer ook graag bij.

Lambert
 
Met de oplossing van lam201 moet je dan ook .HTMLBody gebruiken in plaats van .Body
 
Lambert,

Je hebt daar gelijk in hoor! Maar het geeft wellicht stof tot nadenken voor TS.
 
Met htmlbody kan het wel:

Code:
 .htmlbody =replace("regel1~~<font color=""red"">regel2</font>~regel3~regel4~regel5~~Met vriendelijke groet,~naam",~",vbLf)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan