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

Outlookのカレンダーで予定の件名を検索して置換するにはどうすればよいですか?

Author: Siluvia Last Modified: 2025-05-23

Outlookカレンダーで予定の件名を検索して置き換えることは、複数の件名を同じテキストに置き換えたい場合や、Outlookでのデータインポート後に件名フィールドの「コピー」という単語を置き換えたい場合に役立ちます。この記事では、複数の予定の件名を検索して置換するためのVBAコードを提供します。詳細は以下をご覧ください。

VBAコードを使用して予定の件名を検索および置換する


VBAコードを使用して予定の件名を検索および置換する

このセクションでは、次の手順に従ってVBAコードを使用して予定の件名を検索および置換できます。

1. まず、Outlookでマクロ設定を低く設定する必要があります。

1) Outlook 2010および2013では、「ファイル」>「オプション」をクリックします。「Outlookオプション」ダイアログボックスで、左側のバーにある「トラストセンター」をクリックし、「トラストセンターの設定」ボタンをクリックします。

doc-find-and-replace-subject-1

「トラストセンター」ダイアログボックスで、左側のバーにある「マクロの設定」をクリックし、「すべてのマクロを有効にする」オプションを選択します。そして、「OK」ボタンをクリックします。スクリーンショットをご覧ください:

doc-find-and-replace-subject-2

2) Outlook 2007では、「ツール」>「トラストセンター」をクリックしてください。「トラストセンター」ダイアログボックスで、左側のバーにある「マクロの設定」をクリックし、「マクロのセキュリティチェックなし」オプションを選択して「OK」ボタンをクリックします。

doc-find-and-replace-subject-3

2. 「Alt」+「F11」キーを押して、「Microsoft Visual Basic for Applications」ウィンドウを開きます。

3. 「Microsoft Visual Basic for Applications」ウィンドウで、「project1」>「Microsoft Outlook Objects」>「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」ダイアログボックスが表示されます。「OK」ボタンをクリックします。

doc-find-and-replace-subject-5

6. 2番目の「Microsoft Outlook」ダイアログボックスで、置換したいテキストを入力し、「OK」ボタンをクリックします。

doc-find-and-replace-subject-6

7. 3番目の「Microsoft Outlook」ダイアログボックスで、置換後のテキストを入力し、「OK」をクリックします。

doc-find-and-replace-subject-7

ノート: 特定のカレンダー内の件名から「Copy」の単語をすべて削除したい場合は、このボックスを空欄にしておいてください。

8. 下のダイアログボックスで「OK」ボタンをクリックします。

doc-find-and-replace-subject-8

9. 「フォルダを選択」ダイアログボックスで、指定されたメールアカウントの下のカレンダーを選択し、「OK」ボタンをクリックします。スクリーンショットをご覧ください:

doc-find-and-replace-subject-9

10. その後、置換が成功したことを知らせるダイアログボックスが表示されます。「OK」ボタンをクリックしてください。

doc-find-and-replace-subject-10

11. これで、選択したカレンダーの件名内のすべてのテキストが新しい内容に置き換えられます。


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

速報: Kutools for Outlook が無料版をリリース!

新しい Kutools for Outlook の無料版を体験してください。70以上の素晴らしい機能が永遠に使えます!今すぐダウンロードをクリック!

🤖 Kutools AI : 高度なAI技術を使用して、メールの返信、要約、最適化、拡張、翻訳、作成を簡単に行います。

📧 メール自動化: 自動返信 (POPとIMAPで利用可能) / メール送信のスケジュール / メール送信時にルールによる自動 CC/BCC / 自動転送 (高度なルール) / 自動挨拶追加 / 複数の宛先を持つメールを個別のメールに自動的に分割...

📨 メール管理: メールの取り消し / 件名やその他によるスパムメールのブロック / 重複したメールの削除 / 高度な検索 / フォルダーを整理...

📁 添付ファイルプロ: バッチ保存 / バッチ切り離し / バッチ圧縮 / 自動保存 / 自動的に切り離す / 自動圧縮...

🌟 インターフェースマジック: 😊より美しくクールな絵文字 /重要なメールが来たときに通知 / クローズ中ではなくOutlookを最小化...

👍 ワンクリックの驚き: 全員に【Attachment】付きで返信 / フィッシング対策メール / 🕘送信者のタイムゾーンを表示...

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

Kutools for Outlook をワンクリックで即座にアンロック。待たずに今すぐダウンロードして効率を高めましょう!

kutools for outlook features1 kutools for outlook features2