Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Anzeige
Inhaltsverzeichnis

dynamische Mail mit VBA generieren

Forumthread: dynamische Mail mit VBA generieren

dynamische Mail mit VBA generieren
25.03.2025 17:33:05
Lukas_430
Hallo Forum,
ich habe hier eine Mail Vorlage (eine Einladung), die ich gerne dynamisch mittels VBA bestücken möchte. Die Vorlage ist etwas komplizierter aufgebaut, sodass ich sie mir gerne importieren möchte und nicht direkt in den Code schreibe.
Ich habe bereits herausgefunden, dass das scheinbar nicht direkt mit Textmarken funktioniert, sondern habe durch suchen einen Umweg gefunden. Die Vorlage liegt in einer Word Datei (mit Textmarken), wird dann befüllt und dann in Richtung Outlook per Copy and Paste übergeben.
Das ist der Code dazu:
Sub emailFromDoc()

Dim wd As Object, editor As Object
Dim docEinladung As Object
Dim oApp As New Outlook.Application
Dim oMail As Outlook.MailItem
Dim Zeile As Long


For Zeile = 7 To Tabelle1.Cells(Rows.Count, 8).End(xlUp).Row
If Tabelle1.Rows(Zeile).Hidden = False And _
Tabelle1.Cells(Zeile, 8) > "" Then 'nur die bei aktivem Filter sichtbaren Zeilen berücksichtigen!!!

If Tabelle1.Rows(Zeile).Hidden = False Then

Set wd = CreateObject("Word.Application")
Set docEinladung = wd.Documents.Open("Link zur Datei")
docEinladung.Bookmarks("Nachname").Range.Text = Tabelle1.Cells(Zeile, 8).Value
docEinladung.Bookmarks("Vorname").Range.Text = Tabelle1.Cells(Zeile, 9).Value

docEinladung.Content.Copy
docEinladung.Close SaveChanges:=False
Set wd = Nothing

Set oMail = oApp.CreateItem(olMailItem)
With oMail
.BodyFormat = olFormatRichText
Set editor = .GetInspector.WordEditor
editor.Content.Paste
.Display
End With

End If
End If

Next Zeile
End Sub

Bitte nicht wundern, das ganze soll nur auf die aktuell sichtbaren Zeilen der Liste angewendet werden. Das funktioniert auch sehr gut (vielen Dank nochmal für die Hilfe an anderer Stelle hier im Forum!).

Dieser Code funktioniert jetzt manchmal und manchmal nicht. Ich konnte noch kein System erkennen. Diese Fehlermeldung wird angezeigt:
Userbild

Es wird im Debug verwiesen auf
editor.Content.Paste


Hat jemand von euch eine Idee (auch vor dem Hintergrund, dass es manchmal ohne Probleme funktioniert)?

Viele Grüße
Lukas
Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: dynamische Mail mit VBA generieren
26.03.2025 01:45:08
ralf_b
vielleicht schliesst du die Datei und die word Application erst nachdem du den Content eingefügt hast.
Anzeige

Forumthreads zu verwandten Themen

Anzeige
Anzeige