Tip: Other languages are Google-Translated. You can visit the English version of this link.
Log in
x
or
x
x
Register
x

or

How to auto remove some special characters from subject line when sending emails?

You may insert some special characters accidentally when you type subject in the subject line while sending email in Outlook, so you need to remove these special characters one by one. In this article, I will talk about how to remove all these special characters automatically from subject when sending emails.

Remove all special characters from subject line automatically when sending emails with VBA code


Remove all special characters from subject line automatically when sending emails with VBA code

Auto remove the special characters from subject line when sending emails, the following VBA code can do you a favor. Please do as this:

1. Hold down the ALT + F11 keys to open the Microsoft Visual Basic for Applications window.

2. In the Microsoft Visual Basic for Applications window, double click ThisOutlookSession from the Project1(VbaProject.OTM) pane to open the mode, and then copy and paste the following code into the blank module.

VBA code: Auto remove special characters from subject line

Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
    Dim xMailItem As Outlook.MailItem
    Dim xRegExp As RegExp
    Dim xSubject As String
    On Error Resume Next
    If Item.Class <> olMail Then Exit Sub
    Set xMailItem = Item
    xSubject = xMailItem.Subject
    Set xRegExp = CreateObject("VBScript.RegExp")
    With xRegExp
        .Global = True
        .IgnoreCase = True
        .Pattern = "[^a-zA-Z0-9\u4e00-\u9fa5]"
    End With
    If xRegExp.test(xSubject) = False Then Exit Sub
    xSubject = xRegExp.Replace(xSubject, "-")
    xMailItem.Subject = GetTargetStr(xSubject)
    Set RegExp = Nothing
End Sub
Function GetTargetStr(Str As String)
    Dim xS, xStr As String
    Dim i As Integer
    Dim xIsFirst As Boolean
    xIsFirst = True
    xStr = ""
    For i = 1 To Len(Str)
        xS = Mid(Str, i, 1)
        If xS = "-" Then
            If xIsFirst Then
                xS = " "
                xIsFirst = False
            Else
                xS = ""
            End If
        Else
            xIsFirst = True
        End If
        xStr = xStr + xS
    Next i
    GetTargetStr = xStr
End Function

doc remove special char 1

3. And then, still in the Microsoft Visual Basic for Applications window, click Tools > References to go to the References-Project1 dialog box, and check Microsoft VBAScript Regular Expressions 1.0 option from the Available References list box, see screenshot:

doc remove special char 2

4. Then click OK to close the dialog, now, when you send a message with some special characters in the subject line, it will be removed automatically after sending it. See screenshot:

doc remove special char 3



Recommended Productivity Tools

shot kutools outlook kutools tab 1180x121
shot kutools outlook kutools plus tab 1180x121

Kutools for Outlook - More than 100 Advanced Functions for Outlook, Improve 70% Efficiency For you

  • Complicated and repeated operations can be done a one-time processing in seconds.
  • Forward multiple emails individually with one-click, and auto forward by rules.
  • Auto CC/BCC every sending email and easy for customizing rules, and auto reply without requiring exchange server.
  • Powerful junk emails filter, remove duplicate emails, reply with attachment, bunch of one-click operations, and so on...
  • 60-day unlimited free trial. 60-day money back guarantee. 2 years free upgrade and support. Buy once, use forever.
Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.

Be the first to comment.