KutoolsforOffice — 一套方案,五大工具。事半功倍。

如何在发送邮件时自动删除主题行中的特殊字符?

作者晓阳修改日期

在 Outlook 中发送邮件时填写主题时,常常会不小心插入一些特殊字符,需逐一手动删除。本文将为您介绍如何在发送邮件时,自动移除主题中的所有特殊字符。

使用 VBA 代码在发送邮件时自动移除主题行中的所有特殊字符


使用 VBA 代码在发送邮件时自动移除主题行中的所有特殊字符

若想在发送邮件时自动移除主题行中的特殊字符,可参考以下 VBA 代码,并按照下述步骤操作:

1. 按住 ALT + F11 组合键,即可打开 Microsoft Visual Basic for Applications 窗口。

2. 在 Microsoft Visual Basic for Applications 窗口中,双击 Project 1(VbaProject.OTM) 窗格下的 ThisOutlookSession,打开模块后,将以下代码复制并粘贴到空白模块中。

VBA 代码:自动移除主题行中的特殊字符

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
文档删除特殊字符 1

3. 在 Microsoft Visual Basic for Applications 窗口中,点击工具 > 引用,进入 References-Project 1 对话框,在可用引用列表框中勾选 Microsoft VBAScript Regular Expressions 1.0 选项,详见截图:

文档删除特殊字符 2

4. 然后点击确定关闭对话框。现在,当您发送主题包含特殊字符的邮件时,发送后这些字符将被自动删除。详见截图:

文档删除特殊字符 3

最佳办公效率工具

体验全新 Kutools for Outlook,畅享 100+ 强大功能!立即点击下载,不容错过!

🤖KUTOOLS AI采用先进 AI 技术,轻松处理邮件,涵盖回复、摘要、优化、扩展、翻译及撰写等功能。

📧 邮件自动化自动答复(支持 POP 和 IMAP)/定时发送邮件/发送邮件时按规则自动抄送密送/自动转发(高级规则)/自动添加称呼/自动将多收件人邮件拆分为单独信息……

📨 邮件管理撤回邮件/按主题等条件拦截诈骗邮件/删除重复邮件/高级搜索/整合文件夹……

📁 附件增强批量保存/批量分离/批量压缩/自动保存/自动拆离/自动压缩……

🌟 界面魔法😊更多美观时尚表情/重要邮件到达时提醒您/最小化 Outlook 而不是直接关闭……

👍 一键精彩功能带附件全部答复/反钓鱼邮件/🕘显示发送者当前时间时区……

👩🏼‍🤝‍👩🏻 联系人与日历批量从选定邮件中提取添加联系人/将联系人组拆分为个人组/移除生日提醒……

在您的首选语言中畅享 Kutools —— 支持英语、西班牙语、德语、法语、中文等 40 多种语言!

一键解锁 Kutools for Outlook,告别等待,立即下载,让效率倍增!

kutools for outlook 功能1kutools for outlook 功能2

🚀 一键下载 — 即可获取全部 Office 加载项

强烈推荐:Kutools for Office(5 合 1)

一键下载五个安装包,即可同时获得 Kutools for Excel、Outlook、Word、PowerPointOffice Tab Pro立即点击下载!

  • 一键便捷:只需一次操作,即可下载全部五个安装包。
  • 🚀 轻松应对各类 Office 任务:随时按需安装所需插件,助您高效办公,不容错过!
  • 🧰 包含:Kutools for Excel / Kutools for Outlook / Kutools for Word / Office Tab Pro / Kutools for PowerPoint