Outlookでメッセージまたはタスク内の件名テキストを検索して置換するにはどうすればよいですか?
Outlookで、複数のメッセージ件名やタスク件名を指定したテキストに置き換える必要がある場合、もちろん1つずつ変更することはできますが、Outlookでこの作業を一度に迅速に完了する方法はありますか?
VBAコードを使用して複数のメッセージ内の件名テキストを検索して置換する
VBAコードを使用して複数のタスク内の件名テキストを検索して置換する
VBAコードを使用して複数のメッセージ内の件名テキストを検索して置換する
複数のメッセージ件名内で特定のテキストを見つけ、別のテキストに置き換えるには、以下のVBAコードが役立ちます。次の手順に従ってください:
1. 件名テキストを検索して置換したいメールを選択し、「ALT + F11」キーを押して「Microsoft Visual Basic for Applications」ウィンドウを開きます。
2. 次に、「挿入」>「モジュール」をクリックし、以下のコードをコピーして開いた空白のモジュールに貼り付けます。スクリーンショットをご覧ください:
VBAコード: 複数のメッセージ内の件名テキストを検索して置換する:
Option Explicit
Sub FindAndReplaceInSubject()
Dim xItem As Object
Dim xNewSubject As String
Dim xMailItem As MailItem
Dim xExplorer As Explorer
Dim i As Integer
On Error Resume Next
Set xExplorer = Outlook.Application.ActiveExplorer
For i = xExplorer.Selection.Count To 1 Step -1
Set xItem = xExplorer.Selection.Item(i)
If xItem.Class = olMail Then
Set xMailItem = xItem
With xMailItem
xNewSubject = Replace(.Subject, "kte", "Kutools for Excel")
.Subject = xNewSubject
.Save
End With
End If
Next
End Sub
注意: 上記のコードでは、xNewSubject = Replace(.Subject, "kte", "Kutools for Excel") の中で、"kte" は検索したい古いテキストであり、"Kutools for Excel" は新しいテキストです。必要に応じてこれらを変更してください。

3. 「F5」キーを押してこのコードを実行すると、メッセージ件名内の特定のテキストが新しいテキストに置き換えられます。必要に応じた結果になります。スクリーンショットをご覧ください:

VBAコードを使用して複数のタスク内の件名テキストを検索して置換する
タスク内の件名テキストを検索して置換する必要がある場合、次のVBAコードも役立ちます。
1. 「ALT + F11」キーを押して「Microsoft Visual Basic for Applications」ウィンドウを開きます。
2. 次に、「挿入」>「モジュール」をクリックし、以下のコードをコピーして開いた空白のモジュールに貼り付けます。スクリーンショットをご覧ください:
VBAコード: すべてのタスク内の件名テキストを検索して置換する:
Option Explicit
Sub FindReplaceTextsInAllTaskSubjects()
Dim xPane As NavigationPane
Dim xModule As TasksModule
Dim xGroup As NavigationGroup
Dim xNavFolder As NavigationFolder
Dim xTaskItem As Outlook.TaskItem
Dim i, k As Integer
Dim xFindStr, xReplaceStr As String
Dim xTotalCount As Long
On Error Resume Next
xFindStr = InputBox("Type the words to find:", "Kutools for Outlook", xFindStr)
If Len(Trim(xFindStr)) = 0 Then Exit Sub
xReplaceStr = InputBox("Type the words to replace:", "Kutools for Outlook", xReplaceStr)
If Len(Trim(xReplaceStr)) = 0 Then Exit Sub
xTotalCount = 0
Set xPane = Outlook.Application.ActiveExplorer.NavigationPane
Set xModule = xPane.Modules.GetNavigationModule(olModuleTasks)
Set xGroup = xModule.NavigationGroups.Item(1)
For i = xGroup.NavigationFolders.Count To 1 Step -1
Set xNavFolder = xGroup.NavigationFolders.Item(i)
For k = xNavFolder.Folder.Items.Count To 1 Step -1
Set xTaskItem = xNavFolder.Folder.Items(k)
If InStr(xTaskItem.Subject, xFindStr) > 0 Then
xTaskItem.Subject = Replace(xTaskItem.Subject, xFindStr, xReplaceStr)
xTaskItem.Save
xTotalCount = xTotalCount + 1
End If
Next
Next
MsgBox xTotalCount & " task subjects have been changed!", vbInformation + vbOKOnly, "Kutools for Outlook"
End Sub
3. 「F5」キーを押してこのコードを実行すると、プロンプトボックスが表示されますので、タスク件名から検索したいテキストを入力してください。スクリーンショットをご覧ください:

4. 「OK」をクリックすると、もう一つのプロンプトボックスが表示されますので、置換したい新しいテキストを入力してください。スクリーンショットをご覧ください:

5. 「OK」をクリックすると、ダイアログボックスが表示され、何件の件名が変更されたかが通知されます。スクリーンショットをご覧ください:

6. 「OK」をクリックすると、タスク件名内の古いテキストが新しいテキストに置き換えられます。スクリーンショットをご覧ください:

最高のオフィス生産性ツール
速報:Kutools for Outlook が無料版をリリース!
新しくなった Kutools for Outlook を100以上の素晴らしい機能とともに体験してください!今すぐダウンロード!
🤖 Kutools AI : 高度なAI技術を活用し、メールの返信、要約、最適化、拡張、翻訳、作成を効率良くこなします。
📧 メール自動化: 自動返信(POPとIMAPに対応) / メール送信のスケジュール設定 /送信時にルールで自動 CC/BCC / 高度なルールによる自動転送 / 挨拶文を自動追加 / 複数宛先のメールを自動で個別のメールに分割 ...
📨 メール管理: メールの取り消し / 件名やその他の条件で迷惑メールをブロック / 重複したメールの削除 / 高度な検索 / フォルダーを整理 ...
📁 添付ファイルPro: 一括保存 / 一括切り離し / 一括圧縮 / 自動保存 / 自動的に切り離す / 自動圧縮 ...
🌟 インターフェースマジック: 😊もっとキレイで楽しい絵文字 /重要なメールの到着をお知らせ / Outlookを閉じずに最小化 ...
👍 ワンクリック便利機能: 全員に【Attachment】付きで返信 /迷惑メール対策 / 🕘送信者のタイムゾーン表示 ...
👩🏼🤝👩🏻 連絡先&カレンダー: 選択したメールから連絡先を一括追加 /連絡先グループを個別のグループに分割 / 誕生日のリマインダーを削除 ...
お好みの言語で Kutools をご利用いただけます ― 英語、スペイン語、ドイツ語、フランス語、中国語など40以上をサポート!
Kutools for Outlook はワンクリックですぐにアンロックできます。今すぐダウンロードして効率をアップしましょう!

