Hallo,
ich nicht sicher ob ich das korrekt zusammen gesetzt habe. Wenn ich das laufen lasse, und das ergebnis sehe, wohl eher nicht wirklich.
Augenscheinlich passt die Logik, aber es passiert nicht was ich da erwarten würde.
Ich verstehe das so, dass:
- im Template sText, der String [@Anrede] immer mit seinem Wert aus sPlatzhalter ersetzt werden soll. - So ist der Plan.
- Dann soll er gucken ob [@Anrede] vielleicht mit dem String "es Mitglied" in sText ersetzt wurde. - So weit kommt der dann offenbar nicht mehr.
[@Anrede] wird immer mit nichts überschrieben bzw.gelöscht, wenn ich das laufen lasse. Hmm..warum dieses?
'-< Replace all Placeholders >-
Dim sText As String
sText = sTemplate
Dim iCol As Integer
For iCol = 1 To tblEmails.ListColumns.Count
Dim sPlaceholder As String
sPlaceholder = tblEmails.Range(1, iCol)
sPlaceholder = Trim(sPlaceholder)
Dim sValue As String
sValue = tblEmails.Range(iRow, iCol)
sValue = Trim(sValue)
'*************************************************************************************
If Not sPlaceholder Like "" Then
sText = Replace(sText, "[@Anrede]", sValue, , , vbTextCompare)
If (InStr(sText, "es Mitglied")) > 1 Then
sText = Replace(sText, "[@Vorname]", "")
sText = Replace(sText, "[@Name]", "")
sText = Replace(sText, "[@Alter]", sValue, , , vbTextCompare)
'*************************************************************************************
Else
sText = Replace(sText, "[@" & sPlaceholder & "]", sValue, , , vbTextCompare)
End If
End If
Next
|