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

 Outlookのメッセージまたはタスク内の件名テキストを検索して置き換える方法は?

Outlookでは、複数のメッセージの件名やタスクの件名を指定したテキストに置き換える必要がある場合は、もちろん、それらをXNUMXつずつ変更できますが、Outlookでこのジョブを一度に完了する簡単な方法はありますか?

VBAコードを使用して、複数のメッセージ内の件名テキストを検索して置換します

VBAコードを使用して、複数のタスク内の件名テキストを検索して置換します


VBAコードを使用して、複数のメッセージ内の件名テキストを検索して置換します

特定のテキストを見つけて、複数のメッセージの件名で別のテキストに置き換えます。以下のVBAコードを使用すると、次の手順を実行できます。

1。 検索するメールを選択して件名を置き換えてから、 Alt + F11 キーを押して アプリケーション向け Microsoft Visual Basic 窓。

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

Note:上記のコードでは: xNewSubject = Replace(.Subject、 "kte"、 "Kutools for Excel")"KTE」は検索したい古いテキストであり、「Kutools for Excel」は、置き換えたい新しいテキストです。 必要に応じて変更してください。

docは件名を置き換えます1

3。 次に、 F5 このコードを実行するためのキー。メッセージの件名の特定のテキストは、必要に応じて新しいテキストに置き換えられています。スクリーンショットを参照してください。

docは件名を置き換えます2


VBAコードを使用して、複数のタスク内の件名テキストを検索して置換します

タスクで件名のテキストを見つけて置き換える必要がある場合は、次のVBAコードも役立ちます。

1。 を押し続けます Alt + F11 キーを押して アプリケーション向け Microsoft Visual Basic 窓。

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 このコードを実行するためのキーを押すと、プロンプトボックスが表示されます。タスクの件名から検索するテキストを入力してください。スクリーンショットを参照してください。

docは件名を置き換えます3

4に設定します。 OK をクリックします。 OK、別のプロンプトボックスが表示されたら、置き換える新しいテキストを入力してください。スクリーンショットを参照してください。

docは件名を置き換えます4

5. 次に、をクリックします。 OK、および変更された件名の数を示すダイアログボックスが表示されます。スクリーンショットを参照してください。

docは件名を置き換えます5

6に設定します。 OK をクリックします。 OK、およびタスクサブジェクトの古いテキストは新しいテキストに置き換えられました。スクリーンショットを参照してください。

docは件名を置き換えます6


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

Outlook用Kutools - Outlook を強化する 100 以上の強力な機能

📧 自動メール: 不在時 (POP および IMAP で利用可能)  /  メール送信のスケジュール設定  /  メール送信時のルールによる自動CC/BCC  /  自動転送 (高度なルール)   /  あいさつを自動追加   /  複数受信者の電子メールを個別のメッセージに自動的に分割する ...

📨 電子メール管理: メールを簡単に思い出す  /  件名などで詐欺メールをブロック  /  重複するメールを削除する  /  高度な検索  /  フォルダーを統合する ...

📁 アタッチメント プロバッチ保存  /  バッチデタッチ  /  バッチ圧縮  /  自動保存   /  自動デタッチ  /  自動圧縮 ...

🌟 インターフェースマジック: 😊もっと可愛くてクールな絵文字   /  タブ付きビューで Outlook の生産性を向上  /  Outlook を閉じる代わりに最小化する ...

???? ワンクリックの驚異: 受信した添付ファイルをすべてに返信する  /   フィッシングメール対策  /  🕘送信者のタイムゾーンを表示 ...

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

オーバー 100の特長 あなたの探索をお待ちしています! ここをクリックして詳細をご覧ください。

 

 

Comments (3)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Hallo,
beide Funktionen sind echt super.
Bin aber auch auf der Suche nach einer Lösung wo ich den Betreff mehrerer Mails ändern kann, genau wie hier bei den Aufgaben.

Ich möchte den Text in den Betreffzeilen kürzen und verwende hierzu z.B. bei München nur ein M
Mails also markieren, suche München im Betreff und ändere München in "M".
Kann mir jemand helfen?
This comment was minimized by the moderator on the site
Hello, Bördi
To find and replace the text of subject in emails, you just need to apply the first VBA code of this article.
Please select the emails first, and then apply the below code:
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, "Munich", "M")
            .Subject = xNewSubject
            .Save
        End With
    End If
Next
End Sub


Please try, hope it can help you!
This comment was minimized by the moderator on the site
Is there a way to change the subject line of email(s) in a folder (window level) via vba?
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations