Guten Abend zusammen,
ich habe in meiner Anwendung in einem Formular eine Möglichkeit geschaffen, eine neue Mail zu generieren und an einen Kunden zu adressieren. Dabei kann ich den Text im Betreff und auch im Body gestalten. Der Cursor steht dann aber immer am Beginn der Nachricht, also vor "Sehr geehrte..." und nicht am Beginn von Zeile xyz, an der ich gerne manuell weiter schreiben möchte. Kann man diese Position programmieren?
Hier der Code, wie ich die Mail generiere:
Private Sub Terminbestaetigung()
Dim sEmail_Adress As String
sEmail_Adress = Re_EMail1
Dim sTitle As String
sTitle = "Terminbestätigung"
Dim sText As String
sText = "Sehr geehrter Herr " & Re_Na2 & ","
Dim app_Outlook As Outlook.Application
Set app_Outlook = New Outlook.Application
Dim objEmail As Outlook.MailItem
Set objEmail = app_Outlook.CreateItem(olMailItem)
objEmail.To = sEmail_Adress
objEmail.Subject = sTitle
objEmail.HTMLBody = sText & "<br><br>"
objEmail.Display True
Set objEmail = Nothing
Set app_Outlook = Nothing
End Sub
Außerdem würde ich gerne angeben, dass die Mail nicht von meinem Account, sondern von dem Account info@... gesendet wird oder aber zumindest die Antwort des Empfängers an diese Adresse geht.
Hat jemand eine Idee dazu?
Zitat von: Andreas Irmer am März 10, 2023, 21:20:37Der Cursor steht dann aber immer am Beginn der Nachricht, also vor "Sehr geehrte..." und nicht am Beginn von Zeile xyz, an der ich gerne manuell weiter schreiben möchte. Kann man diese Position programmieren?
Wenn du Word als Email-Editor verwendest, kannst du über die Start/End-Eigenschaften der Selection festlegen, wo sich der Cursor befindet.
Z.B. so:
With objEmail.GetInspector.WordEditor.Application.Selection
.Start = .Document.Paragraphs.Last.Range.End
.End = .Document.Paragraphs.Last.Range.End
End With
Ob das so die sinnvollste Word-Programmierung ist, sei dahingestellt. Dazu frag ggfls. nochmal in einem Word-Forum nach.
Eine Lösung, wenn Word nicht der Email-Editor ist, weiß ich im Moment nicht.
Zitat von: Andreas Irmer am März 10, 2023, 21:20:37Außerdem würde ich gerne angeben, dass die Mail nicht von meinem Account, sondern von dem Account info@... gesendet wird oder aber zumindest die Antwort des Empfängers an diese Adresse geht.
Siehe:
Eine Email mit VBA über Outlook mit einen bestimmten Account versenden (https://codekabinett.com/page.php?Theme=11&Lang=1#outlook-vba-absender-email-account-festlegen)Ansonsten: Die Reply-To-Emailadresse kannst du über die ReplyRecipients (https://learn.microsoft.com/en-us/office/vba/api/outlook.mailitem.replyrecipients?f1url=%3FappId%3DDev11IDEF1%26l%3Den-US%26k%3Dk(vbaol11.chm1355)%3Bk(TargetFrameworkMoniker-Office.Version%3Dv16)%26rd%3Dtrue)-Collection des MailItem setzen.