shadow88
Goto Top

Verwendung von vbscript.regexp zum entfernen von AW: RE: ect. aus eMail Subject

Hallo zusammen,

bin gerade an einem VBA-Code zugange, der mir eMails aus einem Outlook Order + Unterordner automatisch inkl. hinzufügen von Datum und Uhrzeit in den Subject auf ein Laufwerk speichert.

Dazu gehört natürlich auch die Bereinigung von Sonderzeichen wie z.b. den Doppelpunkt. Das Funktioniert mit den Sonderzeichen auch einwandfrei, nun möchte ich allerdings noch die Tags wie RE:, AW:, FW:, WG: usw. im Subject entfernen. Habe das ganze auch schon mal in einem anderen Script gesehen, bei mir klappt es allerdings nicht.

Was mache ich falsch?

Der Code meiner Clean-Funktion:

Function StripIllegalChar(StrInput)


   Dim RegX            As Object

    Set RegX = CreateObject("vbscript.regexp")  

    RegX.IgnoreCase = True
    RegX.Global = True
   
   
    RegX.Pattern = "(RE:|Re:|AW:|FW:|WG:|SV:|Antwort:)"  
    StripIllegalChar = RegX.Replace(StrInput, "")  
   
    RegX.Pattern = "[\" & Chr(34) & "\!\@\#\$\%\^\&\*\(\)\=\+\|\[\]\{\}\`\'\;\:\<\>\?\/\,]"  
    StripIllegalChar = RegX.Replace(StrInput, "")  

ExitFunction:
     
 Set RegX = Nothing
     
End Function


Vielen Dank für Eure Unterstützung im Voraus!

Beste Grüße

Content-ID: 208995

Url: https://administrator.de/forum/verwendung-von-vbscript-regexp-zum-entfernen-von-aw-re-ect-aus-email-subject-208995.html

Ausgedruckt am: 16.04.2025 um 13:04 Uhr

bastla
bastla 02.07.2013 um 17:51:17 Uhr
Goto Top
Hallo Shadow88!

Wenn Du ein zweimaliges Ersetzen per "RegExp" durchführen willst, musst Du das Ergebnis zwischenspeichern - also etwa:
    RegX.Pattern = "(RE:|Re:|AW:|FW:|WG:|SV:|Antwort:)"  
    strTemp = RegX.Replace(StrInput, "")  
   
    RegX.Pattern = "[\" & Chr(34) & "\!\@\#\$\%\^\&\*\(\)\=\+\|\[\]\{\}\`\'\;\:\<\>\?\/\,]"  
    StripIllegalChar = RegX.Replace(strTemp, "")  
Grüße
bastla
Shadow88
Shadow88 02.07.2013 um 18:06:08 Uhr
Goto Top
Zitat von @bastla:
Hallo Shadow88!

Wenn Du ein zweimaliges Ersetzen per "RegExp" durchführen willst, musst Du das Ergebnis zwischenspeichern -
also etwa:
    RegX.Pattern = "(RE:|Re:|AW:|FW:|WG:|SV:|Antwort:)"  
>     strTemp = RegX.Replace(StrInput, "")  
>    
>     RegX.Pattern = "[\" & Chr(34) &  
> "\!\@\#\$\%\^\&\*\(\)\=\+\|\[\]\{\}\`\'\;\:\<\>\?\/\,]"  
>     StripIllegalChar = RegX.Replace(strTemp, "")  
> 
Grüße
bastla

Hallo Bastla,

Danke für die schnelle Antwort! Klappt nun einwandfrei!

Vielen Dank!

Shadow88