如何在行事曆中搜尋並取代約會的主旨?
當您在行事曆中需要大量將某些約會主旨替換為相同文字時,「查找並取代約會主旨」功能非常實用;例如在 Outlook 匯入資料後,快速移除主旨欄位中的「Copy」字樣。本文提供實用的 VBA 程式碼,助您一次完成多個約會主旨的搜尋與取代。詳情請繼續閱讀。
使用 VBA 程式碼搜尋並取代約會主旨
本節將說明如何依照下列步驟,運用 VBA 程式碼搜尋並取代約會主旨。
1. 首先,請將 Outlook 的巨集安全性設定調整為「低」。
1) 在 Outlook 2010 與 2013 中,請點選「檔案」>「選項」。在「Outlook 選項」對話方塊中,於左側欄位選擇「信任中心」,然後按一下「信任中心設定」按鈕。

在「信任中心」對話方塊中,點選左側窗格的「巨集設定」,於「巨集設定」區段中選取「啟用所有巨集」選項,再按一下「確定」按鈕。請參閱截圖:

2) 在 Outlook 2007 中,請點選「工具」>「信任中心」。在「信任中心」對話方塊中,於左側欄位選擇「巨集設定」,然後勾選「不對巨集進行安全性檢查」選項,並按一下「確定」。

2. 按下「Alt」+「F11」鍵,即可開啟「Microsoft Visual Basic for Applications」視窗。
3. 在「Microsoft Visual Basic for Applications」視窗中,雙擊展開「Project 1」>「Microsoft Outlook 物件」>「ThisOutlookSession」,即可開啟 VBA 編輯器。請參閱截圖:

4. 將下列 VBA 程式碼複製並貼上至 VBA 編輯器中,然後按下「F5」鍵即可執行。
VBA:查找和替換約會主旨
Sub FindReplaceAppointment()
Dim oApp As Outlook.Application
Dim oCalFolder As Outlook.MAPIFolder
Dim oAppt As Outlook.AppointmentItem
Dim sOldText As String
Dim sNewText As String
Dim iCalChangedCount As Integer
Set oApp = Outlook.Application
MsgBox ("This script will perform a find/replace in the subject line of all appointments in a specified calendar.")
sOldText = InputBox("What is the text string that you would like to replace?")
sNewText = InputBox("With what would you like to replace it?")
' Check to be sure a Calendar folder was selected
Do
If Not (oCalFolder Is Nothing) Then
If (oCalFolder.DefaultItemType = olAppointmentItem) Then Exit Do
End If
MsgBox ("Please select a calendar folder from the following list.")
Set oCalFolder = Application.Session.PickFolder
On Error GoTo ErrHandler:
Loop Until oCalFolder.DefaultItemType = olAppointmentItem
' Loop through appointments in calendar, change text where necessary, keep count
iCalChangedCount = 0
For Each oAppt In oCalFolder.Items
If InStr(oAppt.Subject, sOldText) <> 0 Then
Debug.Print "Changed: " & oAppt.Subject & " - " & oAppt.Start
oAppt.Subject = Replace(oAppt.Subject, sOldText, sNewText)
oAppt.Save
iCalChangedCount = iCalChangedCount + 1
End If
Next
' Display results and clear table
MsgBox (iCalChangedCount & " appointments had text in their subjects changed from '" & sOldText & "' to '" & sNewText & "'.")
Set oAppt = Nothing
Set oCalFolder = Nothing
Exit Sub
ErrHandler:
MsgBox ("Macro terminated.")
End Sub
5. 執行程式碼後,將彈出「Microsoft Outlook」對話方塊,請點選「確定」按鈕。

6. 在第二個「Microsoft Outlook」對話方塊中,輸入您要取代的文字,然後點選「確定」。

7. 在第三個「Microsoft Outlook」對話方塊中,輸入您要用來取代的新文字,然後點選「確定」。

注意:若您只想從指定行事曆的主旨中移除所有「Copy」字樣,請將此欄位留空。
8. 點擊下方對話框中的「確定」按鈕。

9. 在「選取資料夾」對話方塊中,於指定的電子郵件帳戶下選取您的行事曆,然後點擊「確定」。請參閱截圖:

10. 接著會彈出對話方塊,通知您取代作業已成功完成,請點選「確定」按鈕。

11. 此時,您所選行事曆中所有活動主旨的文字皆已更新為新內容。
最佳 Office 生產力工具
體驗全新 Kutools for Outlook,內含 100+ 項超強功能!立即點擊下載!
🤖KUTOOLS AI:運用先進 AI 技術,輕鬆處理電子郵件——無論是回覆、摘要、優化、擴充、翻譯還是撰寫郵件,通通一鍵搞定!
📧 郵件自動化:自動答覆(支援 POP 與 IMAP)/預約寄送郵件/寄信時依規則自動抄送密送/自動轉發(高級規則)/自動加入問候語/自動將多收件人郵件拆分為個別訊息……
📨 郵件管理:撤回郵件/依主旨等條件封鎖詐騙郵件/刪除重複郵件/高級搜尋/整合文件夾……
📁 附件專業版:批次儲存/批次解除附加/批次壓縮/自動保存/自動拆離/自動壓縮……
🌟 介面魔法:😊更多精美酷炫表情符號/重要郵件來到時提醒您/最小化 Outlook 而非關閉……
👍 一鍵奇蹟:帶附件全部答復/防釣魚郵件/🕘顯示發送者當前時間時區……
👩🏼🤝👩🏻 聯絡人與行事曆:從選取的郵件中批次新增聯絡人/將聯繫人組拆分為個別群組/移除生日提醒……
用您的慣用語言暢享 Kutools — 完整支援英文、西班牙文、德文、法文、中文等 40 多種語言!
立即一鍵解鎖 Kutools for Outlook!別再等待,馬上下載,全面提升工作效率!


🚀 一鍵下載 — 立即取得所有 Office 增益集
強烈推薦:Kutools for Office(5 合 1)
一鍵下載五個安裝程式,一次完成 — Kutools for Excel、Outlook、Word、PowerPoint 與 Office Tab Pro!立即點擊下載!
- ✅ 一鍵便利:只需一次操作,即可下載全部五個安裝套件!
- 🚀 隨時應對任何 Office 任務:按需安裝所需增益集,立即提升工作效率!
- 🧰 包含:Kutools for Excel/Kutools for Outlook/Kutools for Word/Office Tab Pro/Kutools for PowerPoint