KutoolsforOffice — 一套方案,五大工具。事半功倍。三月特賣:20% 折扣

如何在行事曆中搜尋並取代約會的主旨?

作者Siluvia修改日期

當您在行事曆中需要大量將某些約會主旨替換為相同文字時,「查找並取代約會主旨」功能非常實用;例如在 Outlook 匯入資料後,快速移除主旨欄位中的「Copy」字樣。本文提供實用的 VBA 程式碼,助您一次完成多個約會主旨的搜尋與取代。詳情請繼續閱讀。

使用 VBA 程式碼搜尋並取代約會主旨


使用 VBA 程式碼搜尋並取代約會主旨

本節將說明如何依照下列步驟,運用 VBA 程式碼搜尋並取代約會主旨。

1. 首先,請將 Outlook 的巨集安全性設定調整為「低」。

1) 在 Outlook 2010 與 2013 中,請點選「檔案」>「選項」。在「Outlook 選項」對話方塊中,於左側欄位選擇「信任中心」,然後按一下「信任中心設定」按鈕。

doc-find-and-replace-subject-1

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

doc-find-and-replace-subject-2

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

doc-find-and-replace-subject-3

2. 按下「Alt」+「F11」鍵,即可開啟「Microsoft Visual Basic for Applications」視窗。

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

doc-find-and-replace-subject-4

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」對話方塊,請點選「確定」按鈕。

doc-find-and-replace-subject-5

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

doc-find-and-replace-subject-6

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

doc-find-and-replace-subject-7

注意:若您只想從指定行事曆的主旨中移除所有「Copy」字樣,請將此欄位留空。

8. 點擊下方對話框中的「確定」按鈕。

doc-find-and-replace-subject-8

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

doc-find-and-replace-subject-9

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

doc-find-and-replace-subject-10

11. 此時,您所選行事曆中所有活動主旨的文字皆已更新為新內容。


最佳 Office 生產力工具

體驗全新 Kutools for Outlook,內含 100+ 項超強功能!立即點擊下載!

🤖KUTOOLS AI運用先進 AI 技術,輕鬆處理電子郵件——無論是回覆、摘要、優化、擴充、翻譯還是撰寫郵件,通通一鍵搞定!

📧 郵件自動化自動答覆(支援 POP 與 IMAP)預約寄送郵件寄信時依規則自動抄送密送自動轉發(高級規則)自動加入問候語自動將多收件人郵件拆分為個別訊息……

📨 郵件管理撤回郵件依主旨等條件封鎖詐騙郵件刪除重複郵件高級搜尋整合文件夾……

📁 附件專業版批次儲存批次解除附加批次壓縮自動保存自動拆離自動壓縮……

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

👍 一鍵奇蹟帶附件全部答復防釣魚郵件🕘顯示發送者當前時間時區……

👩🏼‍🤝‍👩🏻 聯絡人與行事曆從選取的郵件中批次新增聯絡人將聯繫人組拆分為個別群組移除生日提醒……

用您的慣用語言暢享 Kutools — 完整支援英文、西班牙文、德文、法文、中文等 40 多種語言!

立即一鍵解鎖 Kutools for Outlook!別再等待,馬上下載,全面提升工作效率!

kutools for outlook features1kutools for outlook features2

🚀 一鍵下載 — 立即取得所有 Office 增益集

強烈推薦:Kutools for Office(5 合 1)

一鍵下載五個安裝程式,一次完成 — Kutools for Excel、Outlook、Word、PowerPointOffice Tab Pro立即點擊下載!

  • 一鍵便利:只需一次操作,即可下載全部五個安裝套件!
  • 🚀 隨時應對任何 Office 任務:按需安裝所需增益集,立即提升工作效率!
  • 🧰 包含:Kutools for Excel/Kutools for Outlook/Kutools for Word/Office Tab Pro/Kutools for PowerPoint