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-Key: 208995

Url: https://administrator.de/contentid/208995

Printed on: April 26, 2024 at 14:04 o'clock

Member: bastla
bastla Jul 02, 2013 at 15:51:17 (UTC)
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
Member: Shadow88
Shadow88 Jul 02, 2013 at 16:06:08 (UTC)
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