メインコンテンツへスキップ

件名に含まれる特定の特殊文字をメール送信時に自動で削除するにはどうすればよいですか?

Author: Xiaoyang Last Modified: 2025-05-23

Outlookでメールを送信する際、件名を入力するときに誤って特殊文字を挿入してしまうことがあります。そのため、これらの特殊文字を1つずつ削除する必要があります。この記事では、メール送信時に件名からすべての特殊文字を自動的に削除する方法について説明します。

VBAコードを使用して、メール送信時に件名からすべての特殊文字を自動的に削除する


VBAコードを使用して、メール送信時に件名からすべての特殊文字を自動的に削除する

メール送信時に件名から特殊文字を自動で削除するには、次のVBAコードが役立ちます。以下の手順を行ってください:

1. ALT + F11 キーを押しながら押して、Microsoft Visual Basic for Applications ウィンドウを開きます。

2. Microsoft Visual Basic for Applications ウィンドウで、 Project1(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
doc remove special char 1

3. そして、 Microsoft Visual Basic for Applications ウィンドウに戻ったまま、Tools(ツール)> References(参照設定)をクリックして「References-Project1」ダイアログボックスに移動し、Available References(利用可能な参照)リストボックスから Microsoft VBAScript Regular Expressions 1.0 オプションをチェックしてください。スクリーンショットをご覧ください:

doc remove special char 2

4. その後、 OKをクリックしてダイアログを閉じます。これで、件名に特殊文字を含むメッセージを送信すると、送信後に自動的に削除されます。スクリーンショットをご覧ください:

doc remove special char 3

最高のオフィス生産性ツール

速報: Kutools for Outlook が無料版をリリース!

新しい Kutools for Outlook の無料版を体験してください。70以上の素晴らしい機能が永遠に使えます!今すぐダウンロードをクリック!

🤖 Kutools AI : 高度なAI技術を使用して、メールの返信、要約、最適化、拡張、翻訳、作成を簡単に行います。

📧 メール自動化: 自動返信 (POPとIMAPで利用可能) / メール送信のスケジュール / メール送信時にルールによる自動 CC/BCC / 自動転送 (高度なルール) / 自動挨拶追加 / 複数の宛先を持つメールを個別のメールに自動的に分割...

📨 メール管理: メールの取り消し / 件名やその他によるスパムメールのブロック / 重複したメールの削除 / 高度な検索 / フォルダーを整理...

📁 添付ファイルプロ: バッチ保存 / バッチ切り離し / バッチ圧縮 / 自動保存 / 自動的に切り離す / 自動圧縮...

🌟 インターフェースマジック: 😊より美しくクールな絵文字 /重要なメールが来たときに通知 / クローズ中ではなくOutlookを最小化...

👍 ワンクリックの驚き: 全員に【Attachment】付きで返信 / フィッシング対策メール / 🕘送信者のタイムゾーンを表示...

👩🏼‍🤝‍👩🏻 連絡先とカレンダー: 選択したメールから連絡先を一括追加 /連絡先グループを個別のグループに分割 / 誕生日のリマインダーを削除...

Kutools for Outlook をワンクリックで即座にアンロック。待たずに今すぐダウンロードして効率を高めましょう!

kutools for outlook features1 kutools for outlook features2