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

Outlook: 返信がない場合にメールを自動で再送信する方法

Author: Sun Last Modified: 2025-05-23

同僚や協力者、または他の誰かにメールを送信し、緊急に返信が必要な場合、指定された時間内に返信が届かない場合に自動でメールを再送信する設定を行うことができます。

リマインダーとVBAを使用して返信がない場合に自動再送信を設定する


リマインダーとVBAを使用して返信がない場合に自動再送信を設定する

 

パート1:指定された時間にリマインダーを設定する

1. 再送信したいメール(「送信済みアイテム」フォルダーから)を右クリックし、表示されるコンテキストメニューで「フォローアップが必要」>「リマインダーの追加」をクリックします。

doc resend if no response 1

2. 表示される「カスタム」ダイアログで、「リマインダー」チェックボックスをオンにしたまま、下部のドロップダウンボックスで希望する日付と時刻を選択します。また、直接日付と時刻を入力することもできます。「OK」をクリックします。

doc resend if no response 1
doc resend if no response 1

パート2:指定された時間内に返信がない場合にメールを再送信するためのVBAを挿入する

3. 「Alt」+「F11」キーを押して「Microsoft Visual Basic for Applications」ウィンドウを有効にします。

4. 「プロジェクト - プロジェクト1」ペインで「ThisOutlookSession」をダブルクリックして新しいスクリプトを作成し、以下のVBAコードをコピーして空のスクリプトに貼り付けます。

VBA: 返信がない場合にメールを再送信する

Public WithEvents GInboxItems As Outlook.Items
'UpdatebyExtendoffice20220413
Private Sub Application_Startup()
  Dim xInboxFld As Folder
  Set xInboxFld = Application.Session.GetDefaultFolder(olFolderInbox)
  Set GInboxItems = xInboxFld.Items
End Sub

'Judge
Private Sub GInboxItems_ItemAdd(ByVal Item As Object)
  Dim xSentItems As Outlook.Items
  Dim xMail As MailItem
  Dim i As Long
  Dim xSubject As String
  Dim xItemSubject As String
  Dim xSendTime As String
  On Error Resume Next
  Set xSentItems = Application.Session.GetDefaultFolder(olFolderSentMail).Items
  If Item.Class <> olMail Then Exit Sub
  For i = xSentItems.Count To 1 Step -1
    If xSentItems.Item(i).Class = olMail Then
      Set xMail = xSentItems.Item(i)
      xSubject = LCase(xMail.Subject)
      xSendTime = xMail.SentOn
      xItemSubject = LCase(Item.Subject)
      If (xItemSubject = "re: " & xSubject) Or (InStr(xItemSubject, xSubject) > 0) Then
        If Item.SentOn > xSendTime Then
           With xMail
             .ClearTaskFlag
             .ReminderSet = False
             .Save
           End With
        End If
      End If
    End If
  Next i
End Sub

'Reminder
Private Sub Application_Reminder(ByVal Item As Object)
  Dim xPrompt As String
  Dim xResponse As Integer
  Dim xFollowUpMail As Outlook.MailItem
  Dim xRcp As Recipient
  On Error Resume Next
  'Resend
  If (Item.Class <> olMail) Then Exit Sub
  xPrompt = "You haven't yet received the reply of " & Chr(34) & Item.Subject & Chr(34) & " within your expected time. Do you want to send a follow-up notification email?"
  xResponse = MsgBox(xPrompt, vbYesNo + vbQuestion, "Kutools for Outlook")
  If xResponse = vbNo Then Exit Sub
  Set xFollowUpMail = Application.CreateItem(olMailItem)
  With xFollowUpMail
    For Each xRcp In Item.Recipients
      .Recipients.Add (xRcp.Address)
    Next
    .Recipients.ResolveAll
    .Subject = "Follow Up: " & Chr(34) & Item.Subject & Chr(34)
    .Body = "Please respond to my email " & Chr(34) & Item.Subject & Chr(34) & " as soon as possible"
    .Attachments.Add Item
    .Display
  End With
End Sub

5. コードを保存したら、メインインターフェースに戻り、「ファイル」>「オプション」をクリックし、「Outlook オプション」ウィンドウで左ペインの「トラストセンター」をクリックし、「トラストセンターの設定」をクリックして「トラストセンター」ウィンドウを有効にします。「マクロの設定」をクリックし、右側のセクションで「すべてのマクロを有効にする(推奨されません。潜在的に危険なコードが実行される可能性があります)」が選択されていることを確認します。「OK」>「OK」をクリックします。

doc resend if no response 1
doc resend if no response 1

6. これで、リマインダーが設定された送信済みメールが、指定された時間内に返信を受け取らなかった場合、再送信するかどうかを通知するポップアップダイアログが表示されます。

doc resend if no response 1

7. 「はい」をクリックすると、メッセージウィンドウがポップアップし、以前のメールが添付され、本文を再編集して「送信」をクリックすることでメールを再送信できます。

doc resend if no response 1

8. 「いいえ」をクリックすると、リマインダーが削除されます。

doc resend if no response 1

ノート: 指定された時間前にメールが返信された場合、リマインダーはVBAによって削除されます。


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

速報: 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