Hallo Heinz,
ich habe schonmal sowas erstellt.
Ich hole mir aus einer Liste den Dateinamen (mit Pfad) der Vorlage.
Diese wird geöffnet.
Du kannst dann den htmlbody auslesen, mit Replace die Platzhalter gegen deine
Variablen austauschen und wieder in die Email setzen.
Dann mit display anzeigen, damit der Versender sie kontrollieren kann.
Sub Vorlagentest()
Dim olApp As Object
Set olApp = CreateObject("Outlook.Application")
Dim strTemplate As String
Dim objTemplate As Object
Dim strBody As String
Dim Änderungen(1 To 4) As String
Dim lngIndex As Long
Änderungen(1) = "[Anrede],geehrter Herr"
Änderungen(2) = "[Name],Meier"
Änderungen(3) = "[Produktname],Pflaster"
Änderungen(4) = "[Absender],Gerd Schmidt"
Dim vÄ As Variant
' Pfad zur Vorlage festlegen
strTemplate = "C:\im\Test.oft"
' Vorlage versuchen zu laden
Set objTemplate = olApp.CreateItemFromTemplate(strTemplate)
' Fehler?
If objTemplate Is Nothing Then
MsgBox "Die Vorlage """ & strTemplate & """ konnte nicht geöffnet werden." _
, vbCritical + vbOKOnly, "Vorlage öffnen"
GoTo Aufräumen
End If
'Body holen
strBody = objTemplate.htmlbody
'Text Ändern
For lngIndex = LBound(Änderungen) To UBound(Änderungen)
vÄ = Split(Änderungen(lngIndex), ",")
strBody = Replace(strBody, vÄ(0), vÄ(1), , , vbTextCompare)
Next lngIndex
'Text htmlbody überschreiben
objTemplate.htmlbody = strBody
' ... und anzeigen
objTemplate.display
Aufräumen:
Set olApp = Nothing
Set objTemplate = Nothing
End Sub
|