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

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

Author: Xiaoyang Last Modified: 2025-08-06

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 を100以上の素晴らしい機能とともに体験してください!今すぐダウンロード!

🤖 Kutools AI : 高度なAI技術を活用し、メールの返信、要約、最適化、拡張、翻訳、作成を効率良くこなします。

📧 メール自動化: 自動返信(POPとIMAPに対応) / メール送信のスケジュール設定 /送信時にルールで自動 CC/BCC / 高度なルールによる自動転送 / 挨拶文を自動追加 / 複数宛先のメールを自動で個別のメールに分割 ...

📨 メール管理: メールの取り消し / 件名やその他の条件で迷惑メールをブロック / 重複したメールの削除 / 高度な検索 / フォルダーを整理 ...

📁 添付ファイルPro: 一括保存 / 一括切り離し / 一括圧縮 / 自動保存 / 自動的に切り離す / 自動圧縮 ...

🌟 インターフェースマジック: 😊もっとキレイで楽しい絵文字 /重要なメールの到着をお知らせ / Outlookを閉じずに最小化 ...

👍 ワンクリック便利機能: 全員に【Attachment】付きで返信 /迷惑メール対策 / 🕘送信者のタイムゾーン表示 ...

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

お好みの言語で Kutools をご利用いただけます ― 英語、スペイン語、ドイツ語、フランス語、中国語など40以上をサポート!

Kutools for Outlook はワンクリックですぐにアンロックできます。今すぐダウンロードして効率をアップしましょう!

kutools for outlook features1 kutools for outlook features2