Skip to main content

如何在Outlook中的郵件或任務內查找並替換主題文字?

Author: Xiaoyang Last Modified: 2025-08-06

在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" 是您想替換的新文字。請根據需要進行修改。

doc replace subjects 1

3. 然後按下「F5」鍵運行此代碼,郵件主題中的特定文字將被替換為您需要的新文字,參見截圖:

doc replace subjects 2

使用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」鍵執行此代碼,會彈出一個提示框,請輸入您想從任務主題中查找的文字,參見截圖:

doc replace subjects 3

4. 點擊「確定」,又會彈出另一個提示框,請輸入您想替換的新文字,參見截圖:

doc replace subjects 4

5. 然後點擊「確定」,會顯示一個對話框告訴您有多少主題已被更改,參見截圖:

doc replace subjects 5

6. 點擊「確定」,任務主題中的舊文字已被替換為新文字,參見截圖:

doc replace subjects 6

最佳 Office 生產力工具

最新消息:Kutools for Outlook 推出免費版本!

體驗全新 Kutools for Outlook,擁有100+ 強大功能!立即下載!

🤖 Kutools AI 運用先進 AI 技術,輕鬆處理郵件,包括答覆、摘要、優化、擴寫、翻譯與撰寫郵件。

📧 郵件自動化自動回覆(支援 POP 和 IMAP) / 計劃發送郵件 / 發送郵件時根據規則自動抄送密送 / 自動轉發(高級規則) / 自動新增問候語 / 自動將多收件人郵件分割為個別郵件 ...

📨 郵件管理撤回郵件 /依主題等條件阻擋詐騙郵件 / 刪除重複郵件 / 高級搜索 / 整合文件夾 ...

📁 附件專業版批次保存 / 批次拆離 / 批次壓縮 / 自動保存 / 自動拆離 / 自動壓縮 ...

🌟 介面魔法😊更多精美酷炫表情符號 /重要郵件來臨提醒 / 最小化 Outlook 而非關閉 ...

👍 一鍵神技帶附件全部答復 /反釣魚郵件 / 🕘顯示發件人時區 ...

👩🏼‍🤝‍👩🏻 聯絡人與日曆批次從選中郵件新增聯絡人 / 將聯絡人組分割為多個組 / 移除生日提醒 ...

以您偏好的語言使用 Kutools —— 支援英語、西班牙語、德語、法語、中文及40 多種其他語言!

只需一鍵即可立即啟用 Kutools for Outlook。立即下載,提升您的效率!

kutools for outlook features1 kutools for outlook features2