nachdem ich mittlerweile stundenlang erfolglos das Netz durchsucht habe, versuche ich es jetzt einmal hier.
Die Problemstellung: Ich möchte über VBA eine Serienmail verschicken, für die die relevanten Parameter in einem Tabellenblatt "Verteiler" eingetragen sind. Das klappt auch alles super (Empfänger, Betreff, Anhänge, Signatur einfügen, Fehlermeldungen). Es gibt nur noch einen kleinen Schönheitsfehler in der Mail, den ich bisher nicht beheben konnte. Und zwar fügt Outlook vor Signaturen ja standardmäßig zwei Leerzeilen ein (das kann man meines Wissens auch nicht ändern). Ich möchte allerdings nur eine Leerzeile zwischen Textblock und Signatur haben. (Wie) kann man das umsetzen? Meine VBA-Kenntnisse reichen leider nicht aus, um den htmlbody zu bearbeiten. Ich weiß, das ist eher ein kleineres Problem, aber vielleicht fühlt sich ja jemand herausgefordert ;).
Anbei zur Info noch der aktuelle Code:
Sub Emails_versenden_vorab()
Dim OutlookApp As Object
Dim objMail As Object
Dim i As Long
Dim intZähler As Integer
Dim strPfadAnhangVorab As String, strNameAnhangVorab As String
Dim strSignatur As String
Set OutlookApp = CreateObject("Outlook.Application")
intZähler = Sheets("Verteiler").Cells(Rows.Count, 4).End(xlUp).Row
For i = 7 To intZähler
If Sheets("Verteiler").Cells(i, 4) "" Then
Set objMail = OutlookApp.CreateItem(olMailItem)
With objMail
strPfadAnhangVorab = Cells(1, 3).Value
strNameAnhangVorab = Cells(i, 6).Value
If Dir(strPfadAnhangVorab & strNameAnhangVorab) "" Then
.GetInspector.Display
strSignatur = .HTMLBody
.To = Cells(i, 3).Value
.Subject = Cells(i, 4).Value
.HTMLBody = "" & Replace(Cells(i, 5).Value, _
Chr(10), "
") & strSignatur
.Attachments.Add strPfadAnhangVorab & strNameAnhangVorab
.Send
Else
MsgBox ("Für den Bereich " & Cells(i, 1).Value & " konnte keine Vorab-Datei _
gefunden werden.")
End If
End With
Set objMail = Nothing
End If
Next i
Set OutlookApp = Nothing
End Sub
Vielen Dank schon einmal vorab für eure Antworten!