Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Mail senden via Access Textanzeige

Begonnen von herb54, Dezember 30, 2021, 18:40:32

⏪ vorheriges - nächstes ⏩

herb54

Hallo, ich habe ein ungebundenes Formular erstellt zum erstellen von Mails. Hier der Programmcode:
a) Button zum Mailen:
Private Sub Befehl6_Click()
EMail
End Sub
b) Prozedur:
Public Function EMail() 'Long Binding

Dim bodystring As String
Dim strPathName As String
Dim objMailItem As Object
Dim objMailOLApp As Object

Set objMailOLApp = CreateObject("outlook.application")
Set objMailItem = objMailOLApp.CreateItem(olMailItem)
objMailItem.Display

With objMailItem
.To = ctlMailadresse
.Subject = ctlBetreff
bodystring = objMailItem.body
.body = ctlText & vbCrLf & vbCrLf & bodystring

'.Attachments.Add "Anhang"

'.Send
End With
objMailItem.Display
End Function

Das funktioniert auch einwandfrei so.
Leider kommen beim Anzeigen des Mailtextes folgende Zeichen:
<div> dies ist mein Mailtex </div>.

Ich habe es schon mit:
.HTMLBody = ctlText & vbCrLf & vbCrLf & bodystring versucht.
Hier wird der Text richtig angezeigt ohne diese Zeichen.
Aber hier schreibt er mir die komplette Signatur in eine Reihe
Was ist hier falsch?

Noch eine Frage zum Schluss
Müsste ich nicht das noch anfügen am Ende:
Set objMailOLApp = Nothing ???
Set objMailItem  = Nothing ???

Grüße
Herbert

DF6GL

Hallo,

wenn HTML-Format (HTMLBody) benutzt wird, sollten auch die Zeilenumbrüche (bzw. der gesamte Text) mit HTML codiert werden:

.HTMLBody = ctlText & "<br>" & "<br>" & bodystring

herb54

Hallo Franz,

leider hat das nicht funktioniert.  Die Signatur wird in einer Zeile geschrieben.
Beispiel:

Mit freundlichen Grüßen
Max Mustermann
66655 Musterstadt

erscheint so:

Mit freundlichen Grüßen Max Mustermann 66655 Musterstadt

Grüße
Herbert

herb54

Hallo,
mir wäre ja schon gedient, wenn ich diese Zeichen weg bekäme:
<div> dies ist mein Mailtex </div>.

Grüße
Herbert

DF6GL

Hallo,

1) wenn du .Body verwendest:

.body = Replace (Replace (ctlText & vbCrLf & vbCrLf & bodystring, "</div>",""),"<div>","")


2) bei .HTMLBody:

den Text in "ctlText" so anpassen, dass "<br>" an die Stellen platziert wird, an denen ein Zeilenumbruch stattfinden soll.


Grundsätzlich solltest Du Dich entscheiden, ob Du HTML-Format oder Plaintext-Format  bei den Mails verwenden willst/sollst und danach bei Plaintext  vbCrLF und ohne HTML-Tags oder bei HTML die entsprechenden Tags einsetzt.

PhilS

Zitat von: DF6GL am Dezember 31, 2021, 11:38:22Grundsätzlich solltest Du Dich entscheiden, ob Du HTML-Format oder Plaintext-Format  bei den Mails verwenden willst/sollst [...]
Diese Entscheidung sollte dann mit einer entsprechenden Zuweisung an die BodyFormat-Eigenschaft des MailItems abgeschlossen werden.
Neue Videoserie: Windows API in VBA

Klassische CommandBars visuell bearbeiten: Access DevTools CommandBar Editor

herb54

Hallo Franz,

das war es:

Zitat von: DF6GL am Dezember 31, 2021, 11:38:22.body = Replace (Replace (ctlText & vbCrLf & vbCrLf & bodystring, "</div>",""),"<div>","")

damit sind die Zeichen weg. Vielen Dank!

Grüße
Herbert