Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

E-Mail aus Access generieren und Cursor an einer Textstelle stehen lassen

Begonnen von Andreas Irmer, März 10, 2023, 21:20:37

⏪ vorheriges - nächstes ⏩

Andreas Irmer

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?
Andreas Irmer
für jede Hilfe dankbar und für Tipps zum Thema Wohnmobil, Wohnwagen auch für jeden erreichbar

PhilS

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

Ansonsten: Die Reply-To-Emailadresse kannst du über die ReplyRecipients-Collection des MailItem setzen.
Neue Videoserie: Windows API in VBA

Klassische CommandBars visuell bearbeiten: Access DevTools CommandBar Editor