この記事では、VBAを使用して、特定の時間内に特定の電子メールの返信を受信しなかったときにOutlookに通知電子メールを送信するかどうかを自動的に確認するための簡単なトリックを説明します。
時には、非常に重要な電子メールについて、あなたは間違いなくその返信を楽しみにしています。 言い換えれば、受信者ができるだけ早くあなたに返信できることを期待する必要があります。 それ以外の場合は、予想時間内に返信が届かない限り、フォローアップ通知メールを受信者に再度送信します。 したがって、この要件に応えて、ここでは、VBAを使用してOutlookに自動警告を表示させ、そのような場合にプロンプトを表示する方法を紹介します。 入念な手順とコードを取得するために読んでください。

予想時間内に特定の電子メールの返信を受信しない場合は通知を受け取ります
- 非常に最初に、starOutlook。
- 次に、特定の電子メールに特定のリマインダー時間を設定する必要があります。
- まず、特定のメールを右クリックします。
- 次に、「フォローアップ」>「リマインダーの追加」を選択します。
- ダイアログボックスで、返信を受信する特定の時間と同じリマインダー時間を設定できます。
- その後、「Alt + F11」キーボタンを押して、OutlookVBAエディターにアクセスします。
- 次に、新しいウィンドウで「ThisOutlookSession」プロジェクトを開き、次のコードをコピーします。
Public WithEvents objInboxItems As Outlook.Items
Private Sub Application_Startup()
Set objInboxItems = Application.Session.GetDefaultFolder(olFolderInbox).Items
End Sub
'If receive the reply, clear the flag and remove the reminder
Private Sub objInboxItems_ItemAdd(ByVal Item As Object)
Dim objSentItems As Outlook.Items
Dim objVariant As Variant
Dim i As Long
Dim strSubject As String
Dim dSendTime As String
Set objSentItems = Outlook.Application.Session.GetDefaultFolder(olFolderSentMail).Items
If Item.Class = olMail Then
For i = 1 To objSentItems.Count
If objSentItems.Item(i).Class = olMail Then
Set objVariant = objSentItems.Item(i)
strSubject = LCase(objVariant.Subject)
dSendTime = objVariant.SentOn
If LCase(Item.Subject) = "re: " & strSubject Or InStr(LCase(Item.Subject), strSubject) > 0 Then
If Item.SentOn > dSendTime Then
With objVariant
.ClearTaskFlag
.ReminderSet = False
.Save
End With
End If
End If
End If
Next i
End If
End Sub
'Get a prompt asking if to send a notification email
Private Sub Application_Reminder(ByVal Item As Object)
Dim strPrompt As String
Dim nResponse As Integer
Dim objFollowUpMail As Outlook.MailItem
'You can change the subject as per your real case
If (Item.Class = olMail) And (LCase(Item.Subject) = "datanumen outlook repair") Then
strPrompt = "You haven't yet recieved the reply of " & Chr(34) & Item.Subject & Chr(34) & " within your expected time. Do you want to send a follow-up notification email?"
nResponse = MsgBox(strPrompt, vbYesNo + vbQuestion, "Confirm to Send a Follow-Up Notification Email")
If nResponse = vbYes Then
Set objFollowUpMail = Application.CreateItem(olMailItem)
With objFollowUpMail
.To = Item.Recipients.Item(1).Address
.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 If
End If
End Sub
- 続いて、このコードに署名します。
- 後でOutlookマクロ設定を変更して、デジタル署名されたマクロを許可します。
- 最終的に解像度tartOutlookで新しいマクロをアクティブにします。 今後、Outlookは次のように機能します。
- リマインダーがポップアップする前に特定の電子メールの返信を受信した場合、Outlookはフラグを自動的にクリアし、リマインダーを無効にします。
- リマインダーが発生したときに返信が届かない場合、Outlookはフォローアップ通知メールを送信するかどうかを尋ねます。 「はい」を選択すると、メールが送信されます。 「いいえ」を選択すると、プロンプトはすぐに消えます。
厄介なOutlookの問題を解決する
Outlookはエラーが発生しやすいため、 Outlookの破損、受信トレイツールであるScanpst.exeだけに頼るのは良いことではありません。 次のような、強力で信頼できる別の修復ツールを準備する必要があります。 DataNumen Outlook Repair、Scanpst.exeが解決できない厄介な問題を処理することができます。
著者紹介:
Shirley Zhangは、のデータ復旧の専門家です。 DataNumen、Inc。は、以下を含むデータ復旧技術の世界的リーダーです。 SQLの破損 と見通し修理ソフトウェア製品。 詳細については、次のWebサイトをご覧ください。 WWW。datanumen.com


