Wenn eine E-Mail mit einem Nachrichtentext mit fünf Zahlen eingegeben wird, möchte ich diesen durch eine URL ersetzen, um eine anklickbare Verknüpfung zum Datensatz zu erstellen. Siehe Code unten:Ersetzen mehrerer Zeichenfolgen im Outlook-E-Mail-Textkörper mit Hyperlinks mithilfe von RegEx
Ich habe 2 Probleme.
mit dem Code unten, ich bin nur in jeder E-Mail ersetzt eine Zeichenfolge erhalten, die in kommt. Also, wenn ich einen Satz von 4 fünf Nummer-IDs hatte, nur würde man in einen Hyperlink umgewandelt werden.
Das Skript scheint alle Formatierungen der eingehenden E-Mail zu ruinieren. Im Idealfall sollte alles, was ich ändern will, ist die 5 Zahlenfolge in einen Hyperlink, der Rest der Formatierung gleich bleiben, mit Null Zeilenumbrüche oder Wagenrücklauf, etc ...
Option Explicit Sub InsertHyperLink(MyMail As MailItem) Dim body As String, re As Object, match As Variant, slgLink As String body = MyMail.body slgLink = "http://lnet/servicelog/serviceLogInfo.jsf?slNumber=" Set re = CreateObject("vbscript.regexp") re.Pattern = "[0-9][0-9][0-9][0-9][0-9]" For Each match In re.Execute(body) body = Replace(body, match.Value, "<p><a href=" & Chr(34) & slgLink & Right(match.Value, 5) & Chr(34) & ">" & Right(match.Value, 5) & "</a></p>", 1, -1, vbTextCompare) Next MyMail.HTMLBody = body MyMail.Save End Sub
Das behebt das Formatierungsproblem, danke! Irgendwelche Ideen, warum es nicht richtig läuft? – Florin
Ich weiß nicht über Regex, sorry. –