Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
24.04.2024 17:19:09
Anzeige
Archiv - Navigation
820to824
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
820to824
820to824
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Email-Body formatieren...

Email-Body formatieren...
20.11.2006 11:35:36
Michel
Hallo liebe Excel-Gemeinde,
ich habe es geschafft, eine Email mit Outlook aus Excel heraus zu starten, die Adressen etc. werden eingefügt, der Text im Body auch.
Was ich nur leider nicht schaffe, das ist diesen Text im Body auch zu FORMATIEREN, d.h. ic h würde gerne spezielle Teile FETT oder UNTERSTRICHEN formatieren. Jemand sagte mal zu mir, das könne man mit Html machen - aber ich habe da -trotz Recherche- nichts finden können.
Kann mir da jemand weiterhelfen?
Lieben Dank.
Michel

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Email-Body formatieren...
20.11.2006 12:47:38
IngGi
Hallo Michel,
hier mal ein Beispiel:

Sub eMail_versenden()
Dim olApp As Object
Dim olMail As Object
Set olApp = GetObject(, "Outlook.Application")
Set olMail = olApp.createitem(0)
olMail.htmlbody = "<b>fett</b> <i>kursiv</i> <u>unterstrichen</u>"
olMail.display
End Sub

Gruß Ingolf
Anzeige
AW: Email-Body formatieren...
20.11.2006 19:54:32
Michel
Hallo Ingolf!
Super - vielen Dank. Das klappt schon sehr gut.
Nur jetzt möchte ich gleich die ganze Hand, nachdem Du mir schon den Finger gereicht hast! ;-)
Guck Dir bitte mal VBA-Text im Anhang an.
https://www.herber.de/bbs/user/38347.doc
Was ich gerne noch machen möchte: (nur 4 Punkte - dann bist Du mich los!)
1. die Schriftart formatieren (kann man das "global" für die Email machen oder muss man das für jedes Textelement in den Anführungszeichen machen?)
2. einen Hyperlink einbauen (ich habe es versucht, aber er wirft mir immer "Compilation-Error" vor. Den VBA-Text für den Hyperlink habe ich im VBA-Code nicht gezeigt)
3. Eine Grafik in die Email zwischen die Textzeilen einfügen, die ich vorher kopiert habe und die demnach im Zwischenspeicher ist.
4. Eine Zahl, die ich aus der Excel-Tabelle auslese, formatieren undzwar als Tausender, d.h. 1.500 Euro. Derzeit wird die angezeigt als 1005,2354865468
Vielen vielen Dank und einen schönen Abend,
Michel
Anzeige
AW: Email-Body formatieren...
21.11.2006 16:24:05
IngGi
Hallo Michel,
zu 1.
die Schriftart musst du ebenfalls in den Anführungszeichen festlegen. Das geht allerdings für den gesamten Body mit diesem HTML-Tag am Anfang:
<font face=""Arial"">
Da das Ganze in Anführungszeichen übergeben wird, musst du je zwei doppelte Anführungszeichen vor und nach "Arial" verwenden. Ganz an's Ende des Bodys kommt dann dieser HTML-Tag:
</font>
zu 2.
Für Hyperlinks gibt es folgenden HTML-Tag:
<a href=""https://www.herber.de"">https://www.herber.de</a>
wobei die URL in Anführungszeichen (auch hier wieder doppelt!) die Adresse des Lins angibt und die zweite URL den Text darstellt, der den Link enthält.
zu 3.
Bilder kannst du mit folgendem HTML-Tag einfügen (es wird hier ausnahmsweise nur ein einzelnes Tag benögigt):
<img src="C:\DeinBild.jpg">
zu 4.
Wenn die Zahl in der Variablen "Betrag" steht, dann füge nicht einfach die Variable ein, sondern wandle die enthaltene Zahl in formatierten Text um. Also statt
"Das kostet " & Betrag & " Euro."
folgendes:
"Das kostet " & Format(Betrag, "# ##0,00") & " Euro"
Gruß Ingolf
Anzeige
AW: Email-Body formatieren...
21.11.2006 20:09:11
Michel
Hallo lieber Ingolf,
phantastisch legendär!! Super & herzlichen Dank !! Das hilft mir klasse weiter !!
Ich würde das alles mal gerne selber können - muss mir mal den VBA-Schmöker krallen.
Nur eines klappt noch nicht: das mit dem Bild einfügen. Tatsächlich möchte ich ja gar kein Bild einfügen, sondern nur etwas aus der Zwischenablage, was ich eine Sekunde vorher reinkopiert habe.
Bin sicher, dass das auch geht - weiß nur leider überhaupt nicht, wie das geht.
Und..wie kann ich bei folgendem Befehl nur den Monat darstellen: FormatDateTime(Date , vb LongDate) - er wirft mir immer nur z.B. "21 November 2006" raus - ich möchte aber gerne nur "November 2006" da stehen haben. Ist wahrscheinlich sehr einfach...
Könntest Du mir noch einmal helfen?
Herzlichen Dank!!
Michel
Anzeige
AW: Email-Body formatieren...
22.11.2006 22:55:12
IngGi
Hallo Michel,
wegen der Geschichte mit der Zwischenablage musste ich erst selbst ein bißchen googlen. Das ist nicht so einfach und überhaupt nur möglich, wenn sich das, was du kopiert hast, als Text interpretieren läßt. Dann bekommst du den Inhalt der Zwischenablage mit folgenden Programmzeilen in die Stringvariable strDaten:
Dim objData As DataObject
Dim strDaten As String
Set objData = New DataObject
objData.GetFromClipboard
strDaten = objData.GetText
Wenn du den Inhalt einer Excelzelle kopierst, hängt hinten automatisch noch eine Zeilenschaltung (2 Zeichen, Hex 0D 0A) dran. Die musst du noch abschneiden:
strDaten = Left(strDaten, Len(strDaten) - 2)
Die Datumsformatierung funktioniert mit
Format(Date, "MMMM JJJJ")
Gruss Ingolf
Anzeige
AW: Email-Body formatieren...
23.11.2006 08:50:56
IngGi
Hallo Michel,
eines habe ich noch vergessen. Damit das auch läuft, musst du im VBA-Editor über Extras-Verweise einen Verweis auf die Objektbibliothek "Microsoft Forms 2.0 Object Library" setzen.
Gruß Ingolf
AW: Email-Body formatieren...
23.11.2006 13:31:36
Michel
Hallo lieber Ingolf,
erneut herzlichen Dank für Deine Hilfe!
Das mit dem Kopieren aus der Zwischenablage ist schwierig, weil es sich um eine Graphik handelt und nicht um Text (genau genommen ist es eine Photographie eines Teilbereichs aus einer anderen Tabelle). Aber das ist eigentlich auch nicht so wichtig, da ich ohnehin schon sehr viel automatisiert habe, so dass ich den letzten Teil auch noch grad manuell machen kann.
Das mit der Datumsformatierung hat super geklappt.
Vielen Dank und herzliche Grüße,
Michel
Anzeige
AW: Email-Body formatieren...
20.11.2006 12:48:43
Nepumuk
Hallo Michel,
Body ist eine Eigenschaft und kein Objekt. Da kannst du nichts formatieren. Du kannst aber die HTMLBody-Eigenschaft benutzen. Diese kann HTML-Code interpretieren und damit bestimmte Formate annehmen.
Gruß
Nepumuk

55 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige