Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1024to1028
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Textboxinhalt in html konvertieren?
17.11.2008 17:59:00
Timo
Hallo,
gibt es eine einfache Möglichkeit den Textboxinhalt in html zu konvertieren?
Ich hab in einer Userform ein Textbox welche als Mailinhalt dient! Wenn ich nun mit
.HTMLBody = Mailtext.TextBox1
die Mail versende wird die Mail ohne Zeilenumbrüche und Schriftfarbe geschrieben!
.TextBody = Mailtext.TextBox1
werden zwar die Zeilenumbrüche berücksichtigt jedoch nicht die Schriftfarbe!
Gruß Timo

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Textboxinhalt in html konvertieren?
17.11.2008 19:17:00
Tino
Hallo,
vielleicht geht es ja auch so.
Auch nicht getestet!
Dim strFarbe As String
strFarbe = Mailtext.TextBox1.ForeColor
.HTMLBody = "<font color=#" & strFarbe & ">" & Mailtext.TextBox1 & "</font>"


Gruß Tino

Anzeige
hier die getestete Version
17.11.2008 19:41:00
Tino
Hallo,
nun mal getestet.
Option Explicit

Private Sub CommandButton1_Click()
Dim strFarbe As String
Dim MyOutApp As Object, MyMessage As Object

strFarbe = Farbe_Hexa(TextBox1.ForeColor)
    
    Set MyOutApp = CreateObject("Outlook.Application")
    Set MyMessage = MyOutApp.CreateItem(0)
    With MyMessage
        .To = "Hier kommt die Adresse rein"
        .Subject = "hier der Betreff"
        .HTMLBody = "<font color=" & strFarbe & ">" & TextBox1 & "</font>"
        .Importance = 2 'Wichtigkeit hoch 
        .Display
        '.Send 
       
    End With

    Set MyOutApp = Nothing
    Set MyMessage = Nothing
End Sub

Function Farbe_Hexa(ByVal ZellFarb As Long) As String
Dim R, G, B As Long

R = Hex(ZellFarb - (ZellFarb \ 65536) * 65536 - _
    ((ZellFarb - (ZellFarb \ 65536) * 65536) \ 256) * 256)

G = Hex((ZellFarb - (ZellFarb \ 65536) * 65536) \ 256)

B = Hex(ZellFarb \ 65536)

If Len(R) < 2 Then R = R & "0"
If Len(G) < 2 Then G = G & "0"
If Len(B) < 2 Then B = B & "0"

Farbe_Hexa = "#" & R & G & B
End Function


Gruß Tino

Anzeige
AW: hier die getestete Version
17.11.2008 20:00:00
Timo
Hallo Tino,
erstmal Vielen Dank! Ich glaube ich kann noch viel lernen!
funktioniert super mit der Farbe!
Jetzt ist noch die Frage mit den Zeilenumbrüchen! Kann man die aus der Textbox irgendwie auslesen und dann mit
ersetzen?
Gruß Timo
AW: hier die getestete Version
17.11.2008 20:30:00
Tino
Hallo,
versuche es mal hiermit.
Es funktioniert aber nur bei von Hand eingefügter Zeilenumbrüchen,
dafür die Textboxeigenschaft EnterKeyBehavior auf True und MultiLine auf True setzen, jetzt kannst Du Zeilenumbrüche mit der Entertaste erzeugen.
Option Explicit

Private Sub CommandButton1_Click()
Dim strFarbe As String
Dim strText As String
Dim MyOutApp As Object, MyMessage As Object

strText = Replace(TextBox1, vbNewLine, "<br>")

strFarbe = Farbe_Hexa(TextBox1.ForeColor)
    
    Set MyOutApp = CreateObject("Outlook.Application")
    Set MyMessage = MyOutApp.CreateItem(0)
    With MyMessage
        .To = "Hier kommt die Adresse rein"
        .Subject = "hier der Betreff"
        .HTMLBody = "<font color=" & strFarbe & ">" & strText & "</font>"
        .Importance = 2 'Wichtigkeit hoch 
        .Display
        '.Send 
       
    End With

    Set MyOutApp = Nothing
    Set MyMessage = Nothing
End Sub

Function Farbe_Hexa(ByVal ZellFarb As Long) As String
Dim R, G, B As Long

R = Hex(ZellFarb - (ZellFarb \ 65536) * 65536 - _
    ((ZellFarb - (ZellFarb \ 65536) * 65536) \ 256) * 256)

G = Hex((ZellFarb - (ZellFarb \ 65536) * 65536) \ 256)

B = Hex(ZellFarb \ 65536)

If Len(R) < 2 Then R = R & "0"
If Len(G) < 2 Then G = G & "0"
If Len(B) < 2 Then B = B & "0"

Farbe_Hexa = "#" & R & G & B
End Function


Gruß Tino

Anzeige
AW: Danke!
17.11.2008 20:52:21
Timo
Hallo Tino,
vielen Dank!!
Eine Frage hätte ich noch!
Ist es möglich einzelne Wörter in der Textbox mit verschiedenen Farben zu Formatieren, also so dass sie vor dem senden schon in Der Textbox farbig angezeigt werden?
Ich mein ich habe schon mal hier im Forum gelesen dass das nicht geht oder?
AW: Danke!
17.11.2008 21:50:00
Tino
Hallo,
in der Textbox geht dies nicht, Du könntest aber in Excel ein Textfeld verwenden,
da kannst du einzelne Texte Farbig machen.
Aber dies in ein HTML- Code zu Konvertieren wird recht schwierig,
da müsste ich auch erst mal experimentieren.
Gruß Tino

311 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige