Outlook: 返信がない場合にメールを自動で再送信する方法
同僚や協力者、または他の誰かにメールを送信し、緊急に返信が必要な場合、指定された時間内に返信が届かない場合に自動でメールを再送信する設定を行うことができます。
リマインダーとVBAを使用して返信がない場合に自動再送信を設定する
リマインダーとVBAを使用して返信がない場合に自動再送信を設定する
パート1:指定された時間にリマインダーを設定する
1. 再送信したいメール(「送信済みアイテム」フォルダーから)を右クリックし、表示されるコンテキストメニューで「フォローアップが必要」>「リマインダーの追加」をクリックします。

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


パート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」をクリックします。


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

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

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

ノート: 指定された時間前にメールが返信された場合、リマインダーはVBAによって削除されます。
最高のオフィス生産性ツール
速報: Kutools for Outlook が無料版をリリース!
新しい Kutools for Outlook の無料版を体験してください。70以上の素晴らしい機能が永遠に使えます!今すぐダウンロードをクリック!
🤖 Kutools AI : 高度なAI技術を使用して、メールの返信、要約、最適化、拡張、翻訳、作成を簡単に行います。
📧 メール自動化: 自動返信 (POPとIMAPで利用可能) / メール送信のスケジュール / メール送信時にルールによる自動 CC/BCC / 自動転送 (高度なルール) / 自動挨拶追加 / 複数の宛先を持つメールを個別のメールに自動的に分割...
📨 メール管理: メールの取り消し / 件名やその他によるスパムメールのブロック / 重複したメールの削除 / 高度な検索 / フォルダーを整理...
📁 添付ファイルプロ: バッチ保存 / バッチ切り離し / バッチ圧縮 / 自動保存 / 自動的に切り離す / 自動圧縮...
🌟 インターフェースマジック: 😊より美しくクールな絵文字 /重要なメールが来たときに通知 / クローズ中ではなくOutlookを最小化...
👍 ワンクリックの驚き: 全員に【Attachment】付きで返信 / フィッシング対策メール / 🕘送信者のタイムゾーンを表示...
👩🏼🤝👩🏻 連絡先とカレンダー: 選択したメールから連絡先を一括追加 /連絡先グループを個別のグループに分割 / 誕生日のリマインダーを削除...
Kutools for Outlook をワンクリックで即座にアンロック。待たずに今すぐダウンロードして効率を高めましょう!

